扫描仪继续阅读并重复读取文件

时间:2015-03-13 22:26:03

标签: java file file-io infinite

我正在编写我的方法来使用扫描仪读取一个小文件。起初我是用一个更大的文件来做它但它没有工作所以我用一个小文件测试它仍然无法正常工作。我的文件有以下几行..

1,0,.
5,1,.
10,2,.

我的代码是

    try
    {
        Scanner mapScanner = new Scanner(myFile);
        while(mapScanner.hasNextLine()) {
            String[] parts = mapScanner.nextLine().split(",");
            System.out.printf("%s %s %s\n",parts[0],parts[1],parts[2]);
        }
        mapScanner.close();
    }

    catch (FileNotFoundException e)
    {
        e.printStackTrace();
    }

当我运行程序时,我得到......

1 0 .
5 1 .
10 2 .
1 0 .
5 1 .
10 2 .

永远直到我终止程序。我不明白这里的问题,我是否使用hasNexthasnextLine未检测到文件的结尾。

编辑类的整个代码,整个文件是上面给出的3行

public class FileHandler {
    private char[][] fileMapArray;

    public char[][] loadMap(){
        fileMapArray = new char[36][54];
        int column;
        int row;
        char symbol;
        File myFile = new File("/home/issac/NetBeansProjects/HWK2/src/main/simpleNot.map.txt");
        try
        {
            Scanner mapScanner = new Scanner(myFile);
            while(mapScanner.hasNextLine()) {
                String[] parts = mapScanner.nextLine().split(",");
                System.out.printf("%s %s %s\n",parts[0],parts[1],parts[2]);
            }
            mapScanner.close();
        }

        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
    return fileMapArray;    
    }

    public FileHandler() {
    }


}

0 个答案:

没有答案