此问题已在此处有答案:
Java says FileNotFoundException but file exists(12个回答)
昨天关门了。
我试图用.txt文件中的整数填充数组,但数组没有得到任何值。我不知道我的代码是否有问题。
我还尝试将值作为字符串读取,并使用Integer.ParseInt(string),但它给了我错误。
(OS:Windows 10,IDE:Apache NetBeans)
源代码:
import java.util.Scanner;
import java.io.*;
public class StatsGUI {
public static void main(String[] args) {
String file = "statsgui.txt";
int[] arr = new int[10];
int i=0;
File f = new File(file);
Scanner scnr = new Scanner(f.getAbsolutePath());
while (scnr.hasNextInt() && i<arr.length){
arr[i] = scnr.nextInt();
i++;
}
i=0;
while(i<arr.length){
System.out.println(arr[i]);
i++;
}
scnr.close();
}
}
预期成果:
1
2
3
4
5
6
7
8
9
10
实际结果:
0
0
0
0
0
0
0
0
0
0
更新:.txt文件的内容:
更新2:结果
1.我使用的是getAbsolutePath(),它返回一个字符串(这是错误的)
1.我把我的.txt文件放在了错误的目录中(使用System.out.println(System.getProperty(“user.dir”));找出Java正在搜索移动你的文件的位置!)
1条答案
按热度按时间z4iuyo4d1#
我相信你混淆了 File#getAbsolutePath 和 File#getAbsoluteFile。
因此,提供给 Scanner 的内容是 String 路径,而不是 File 对象。
您也可以只传递 f 对象-不需要 getAbsoluteFile 调用。