Java 上的 FileNotFoundException

FileNotFoundException on Java

我正在尝试读取整数输入,例如

17
100
19
18

在 .txt 文件上,但我总是得到 FileNotFoundException。它将输出结果

0000

如果我运行下面的代码:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.*;

public class umm {

    public static void main(String[] args) throws FileNotFoundException  {
        // TODO Auto-generated method stub


        Scanner scanner = new Scanner(new File("huhu.txt"));
        int [] tall = new int [100];
        int i = 0;
        while(scanner.hasNextInt())
        {
             tall[i++] = scanner.nextInt();
             System.out.print(tall[i]);
        }

        scanner.close();
    }

}

如果我在 .txt 文件中添加整数,这样它将有 6 个这样的整数

17
100
19
18
2
5

会输出

000000

这不是说文件存在并且可以访问吗?但为什么它一直说 FileNotFound?

huhu.txt 使用绝对路径。

您可以通过 运行 这段代码查看您的程序正在寻找 huhu.txt 的位置。

System.out.println("Working Directory = " +
              System.getProperty("user.dir"));

看这段代码:

 tall[i++] = scanner.nextInt();
 System.out.print(tall[i]);

您读取的数组元素与您打印的不一样(您打印下一个,因为i++增加了索引)。

这解释了你得到的所有 0。

我不清楚你是如何得到 FileNotFoundException

那是因为您打印了数组中尚未受影响的下一个元素 , 所以试试这个

 while(scanner.hasNextInt())
{
        tall[i] = scanner.nextInt();
        System.out.println(tall[i]);
        i++;
}