无法用.txt文件中的整数填充数组,[Java] [重复]

c9qzyr3d  于 2023-06-04  发布在  Java
关注(0)|答案(1)|浏览(367)

此问题已在此处有答案

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正在搜索移动你的文件的位置!)

z4iuyo4d

z4iuyo4d1#

我相信你混淆了 File#getAbsolutePathFile#getAbsoluteFile
因此,提供给 Scanner 的内容是 String 路径,而不是 File 对象。
您也可以只传递 f 对象-不需要 getAbsoluteFile 调用。

Scanner scnr = new Scanner(f);

相关问题