Java 加载文件不起作用

Java 加载文件不起作用,java,load,java.util.scanner,Java,Load,Java.util.scanner,为什么String m不获取保存文件中包含的字符串 它是保存的文件中唯一的内容。我需要它,因为它是一个日期字符串,然后我将其拆分为三个整数:日、月和年 public void load(){ try{ Scanner fileReader = new Scanner(new File("SimpleDateSave")); String m = fileReader.next(); fileReader.close();

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

使用
m.nextLine()
而不是
m.next()
next()
一次只提取一个单词。

您只将文件的下一部分放在
m

根据您的代码:

String m = fileReader.next();
如果文件的行中包含空格。例如这里-
13 02 1988
。 只需要第一个数字=>
m=13
,其余数字将被忽略

您几乎没有解决此问题的解决方案:

  • 将while()循环用于以下条件:

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


当发生类似情况时,使用IDE的调试器或仅使用
System.out.println(“m=“+m”)查看“m”中的值通常是有帮助的