加载文件不起作用

时间:2013-09-14 17:59:49

标签: java load java.util.scanner

为什么String m没有获取保存文件中包含的字符串?

这是保存文件中唯一的内容。我需要它,因为它是一个日期字符串,然后我会分成三个整数:日,月和年。

public void load(){     
    try{
        Scanner fileReader = new Scanner(new File("SimpleDateSave"));
        String m = fileReader.next();

        fileReader.close();
    }
    catch(FileNotFoundException error){
        System.out.println("File not found");
    }
}

2 个答案:

答案 0 :(得分:1)

使用m.nextLine()代替m.next()next()一次只能说一句话。

答案 1 :(得分:0)

您只从文件的第一个下一部分开始m

根据您的代码:

String m = fileReader.next();

如果您的文件在行中包含空格。例如,在这里 - 13 02 1988。 它只需要第一个数字=> m = 13其余部分将被省略。

你解决这个问题的解决方案很少:

  • 使用while()循环条件:

    while (fileReader.hasNext()) {    
        // do smt with fileReader   
    }
    
  • 或使用nextLine()代替next()。 它在行尾之前占用所有行(这可能取决于您的操作系统)。您可以在Wiki page了解更多信息。