制表符分隔的文件:
2019-06-06 10:00:00 1.0
2019-06-06 11:00:00 2.0
我想遍历文件一次,并将每列的值添加到列表中。
我的工作方法是:
import java.util.*;
import java.io.*;
public class Program {
public static void main(String[] args)
{
ArrayList List_1 = new ArrayList();
ArrayList List_2 = new ArrayList();
String[] values = null;
String fileName = "File.txt";
File file = new File(fileName);
try
{
Scanner inputStream = new Scanner(file);
while (inputStream.hasNextLine()){
try {
String data = inputStream.nextLine();
values = data.split("\\t");
if (values[1] != null && !values[1].isEmpty() == true) {
double val_1 = Double.parseDouble(values[1]);
List_1.add(val_1);
}
if (values[2] != null && !values[2].isEmpty() == true) {
double val_2 = Double.parseDouble(values[2]);
List_2.add(val_2);
}
}
catch (ArrayIndexOutOfBoundsException exception){
}
}
inputStream.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
System.out.println(List_1);
System.out.println(List_2);
}
}
我得到:
[1.0]
[2.0]
如果不检查null , ìsEmpty和ArrayIndexOutOfBoundsException , ìsEmpty无法正常工作。
我希望您能在保持扫描仪方法的同时节省一些行的任何提示。