-1

为什么没有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");
    }
}
4

2 回答 2

1

使用m.nextLine()而不是m.next(). next()一次只能插入一个词。

于 2013-09-14T18:01:41.250 回答
0

m只放入文件中的第一部分。

根据您的代码:

String m = fileReader.next();

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

你有几个解决方案来解决这个问题:

  • 使用带条件的 while() 循环:

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

于 2013-09-14T18:22:18.903 回答