将文件读入数组但只存储最后一个文件?

时间:2013-08-15 15:00:13

标签: java arrays file

我正在读取文件并将它们存储到数组中....

         f = new File("some file");
        try {
            s = new Scanner(f);
        } catch (FileNotFoundException e) {

            e.printStackTrace();
        }
        String theWord [] = new String[100];.
        while(s.hasNext()){

            int i=0;

            theWord[i]=s.next();
            //print
            System.out.println(theWord[i]);

            i++;     
        }
        System.out.println(theWord[0]);
        System.out.println(theWord[1]);

假设该文件包含:Hello Programmer。 输出是:

    Hello
    programmer
    programmer
    null

最后两行让我感到困惑。它表明,当零索引应该是hello而1索引应该是程序员时,theWord的0索引是程序员,1索引是null。

任何帮助?

2 个答案:

答案 0 :(得分:4)

你需要搬家:

 int i=0;

循环之外。您始终更新theWord[0]值。

答案 1 :(得分:3)

您正在i循环中重新初始化0while,因此每次都会覆盖数组的0 th 元素。< / p>

while(s.hasNext()){
    int i=0;  // Move this outside the while loop