I have little experience using delimiters and i need to read a text file that stores several objects whose data is stored in single lines separate by commas (\",\"). The sep
All of the answers above are right and actually the same. However, one important point everybody should remember that the Scanner
has a buffer size of only 1024. That means if the length of the delimited text is more, the parsing will stop.
So, a little enhancement to the given solution, use BufferedReader
instead of directly passing the file to the Scanner
. Example:
BufferedReader in = new BufferedReader(new FileReader("datafile.txt"), 16*1024);
Scanner read = new Scanner(in);
read.useDelimiter(",");
String title, category, runningTime, year, price;
while(read.hasNext())
{
title = read.next();
category = read.next();
runningTime = read.next();
year = read.next();
price = read.next();
System.out.println(title + " " + category + " " + runningTime + " " + year + " " + price + "\n"); //just for debugging
}
read.close();