I am trying to read a txt file in java. However, I only want to read starting from the second line since the first line is just a label. This is the example
Text File:
Name,Type,Price
Apple,Fruit,3
Orange,Fruit,2
Lettuce,Veggie,1
How do I do this? I have this code where you can read from first line.
Code:
//read the file, line by line from txt
File file = new File("train/traindata.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line;
line = br.readLine();
while(line != null)
{
lines = line.split(",");
//Do something for line here
//Store the data read into a variable
line = br.readLine();
}
fr.close();
Please help me, Thank you in advance.
Just add an extra BufferedReader#readLine
call...
br.readLine(); // consume first line and ignore
line = br.readLine();
while(line != null) ...
In case you are interested in using a third party library, here is an example using Apache Commons CSV (it will skip the header, but keep its mapping for retrieval of fields from the record).
Modify the charset according to your file's encoding.
CSVParser parser = CSVParser.parse(file, Charset.forName("UTF-8"),CSVFormat.RFC4180.withFirstRecordAsHeader().withSkipHeaderRecord());
List<CSVRecord> records = parser.getRecords();
for (CSVRecord record : records) {
System.out.println(record.get("Name"));
System.out.println(record.get("Type"));
System.out.println(record.get("Price"));
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With