编程语言
首页 > 编程语言> > java-如何从.txt文件中将双打读入ArrayList

java-如何从.txt文件中将双打读入ArrayList

作者:互联网

我正在尝试从包含100,000个双打的文件中读取双打,该文件以两个双打的行排列,每个双打由空格隔开.像这样:

2.54343 5.67478
1.23414 5.43245
7.64748 4.25536
...

到目前为止,我的代码:

Scanner numFile = new Scanner(new File("input100K.txt").getAbsolutePath());
ArrayList<Double> list = new ArrayList<Double>();
while (numFile.hasNextLine()) {
    String line = numFile.nextLine();
    Scanner sc = new Scanner(line);
    sc.useDelimiter(" ");
    while(sc.hasNextDouble()) {
        list.add(sc.nextDouble());
    }
    sc.close();
}
numFile.close();
System.out.println(list);
}

此代码运行后,将输出到控制台并空ArrayList [],我不知道为什么.

从文件中删除getAbsolutePath()会给我这一行:

Scanner numFile = new Scanner(new File("input100K.txt"));

但是当我运行程序时,它给了我FileNotFoundException.我知道该文件存在,可以看到并打开它.

input100K.txt与该程序一起位于src软件包文件夹中.该文件必须在哪个特定位置才能正常工作?

编辑:正如Evgeniy Dorofeev指出的,该文件需要在项目文件夹(src文件夹的父文件夹)中,程序才能找到它.

解决方法:

当您像这样创建Scanner时,新的Scanner(new File(“ input100K.txt”).getAbsolutePath());您正在扫描文件路径作为输入而不是文件本身.这样做new Scanner(new File(“ input100K.txt”));

标签:java-util-scanner,arraylist,java
来源: https://codeday.me/bug/20191029/1962853.html