繁体   English   中英

如何从文件中读取整数到数组

[英]How to read integers to array from file

所以,基本上我想学习如何使用方法从文件整数中读取并获取 output - 数组以返回。 有人有建议吗?

static int[] readFromFile() {
    int[] data = new int[10];
    try {

        File myObj = new File("inputFile.txt");
        Scanner myReader = new Scanner(myObj);
        while (myReader.hasNextLine()) {
            for(int i = 0; i < data.length; i++)
                data[i] = myReader.nextInt();
            System.out.println(data);


        }
        myReader.close();
    } catch (FileNotFoundException e) {
        System.out.println(" .");
        e.printStackTrace();
    }

    return data;
}

我希望该代码返回 arrays 以及文件中的所有整数

你有几个问题。 一是您不能更改数组的大小。 如果要调整它的大小,则必须重新分配一个新数组并进行复制。 另一个是你有两个循环。 每次调用 while 循环都会覆盖您的 10 元素数组。

因此,让我们尝试改用 ArrayList。 ArrayList 让你动态地把更多的项目放到最后 append。

编辑:你只需要 10 个整数:

static List<Integer> readFromFile() {
    List<Integer> data = new ArrayList<>();
    try {
        File myObj = new File("inputFile.txt");
        Scanner myReader = new Scanner(myObj);
        while (myReader.hasNext() && data.size() < 10) {
            data.add(myReader.nextInt());
        }
        myReader.close();
    } catch (FileNotFoundException e) {
        System.out.println(" .");
        e.printStackTrace();
    }
    return data;
}

最后,如果您真的想返回一个数组而不是列表,则可以对data使用toArray()方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM