我正在尝试读取一个大文件,其中换行符由无空格
、逗号
、换行符指示
,或任何东西。
Example: line1element1, line1element2, line1element3, line2element1, line2element2, and so on..
该文件是一个 csv
,我正在阅读它,如下所示:
public static void main(String[] args) throws Exception {
ArrayList<String> list = new ArrayList<>();
String element;
String filename = "E:\\csv.csv";
Scanner scanner = new Scanner(new File(filename));
scanner.useDelimiter(",");
for (int i = 0; i < 50; i++) {
element = scanner.next();
list.add(element);
}
System.out.print(list);
}
这会导致问题,因为一行中的 element50
与 element51
组合在一起,尽管它应该是一个新行。
最佳答案
为此使用BufferedReader
:
String filename = "E:\\csv.csv";
BufferedReader fileReader = null;
//Delimiter used in CSV file
final String DELIMITER = ",";
String line = "";
//Create the file reader
fileReader = new BufferedReader(new FileReader(filename ));
//Read the file line by line
while ((line = fileReader.readLine()) != null)
{
//Get all tokens available in line
String[] tokens = line.split(DELIMITER);
for(String token : tokens)
{
//Print all tokens
System.out.println(token);
}
}
关于java - 使用Java读取文件时如何处理新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31454893/