使用scanner将文件内容放入数组中

时间:2014-04-18 17:45:31

标签: java arrays java.util.scanner

我试图将文件的内容放入数组中。文件内容是正整数和负整数。

这就是我所做的,以确定我应该制作多大的数组。 inFile是我的扫描仪。我能够打印inFile的内容,但是他们不会进入数组。我只是得到空值。

    int arrayLength = 0;
    while (inFile.hasNextInt()){
        inFile.nextInt();
        arrayLength++;
    }

这就是我试图将文件内容放入数组中。

    int[] nums = new int[arrayLength]; //make array according to arrayLength
    inFile.reset();
    //fill array with values from file
    for (int n = 0; n > arrayLength; n++) {
        nums[n] = inFile.nextInt();
    }

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

当您在第一个循环中使用nextInt()时,您正在“移动”您的流上的虚拟光标,而您又无法再返回。

假设您输入的内容如下:

17
-15
13

然后,当您第一次呼叫nextInt()时,光标从17移动到-15。因此,在每个循环中调用nextInt()必然会导致在第二个循环中具有空值。

你应该尝试使用dynamic arrays或者列表(没有固定大小)