Java 无法获取.txt保存文件以正确保存信息

Java 无法获取.txt保存文件以正确保存信息,java,Java,嘿,伙计们,我刚刚开始学习Java第一语言,我可能会问一个非常简单的问题,但我一直在写一本基本的通讯录。我的问题是,每次我在回答一个问题时,都会在.txt文件中留下一个空格,然后将其保存为.txt文件中的新行,我不知道为什么 如果这对你们中的一些人来说是浪费时间的话,我很抱歉,但如果有人能很快检查一下,我将非常感激 非常感谢 Scanner address = new Scanner(System.in); Writer saveFile = new FileWriter("ad

嘿,伙计们,我刚刚开始学习Java第一语言,我可能会问一个非常简单的问题,但我一直在写一本基本的通讯录。我的问题是,每次我在回答一个问题时,都会在.txt文件中留下一个空格,然后将其保存为.txt文件中的新行,我不知道为什么

如果这对你们中的一些人来说是浪费时间的话,我很抱歉,但如果有人能很快检查一下,我将非常感激

非常感谢

    Scanner address = new Scanner(System.in);
    Writer saveFile = new FileWriter("addressSave.txt");



    // Address Questions.

    String Name;
    System.out.println("Whats your name?");
    Name = address.next();
    saveFile.write (Name + "\r\n");

    String country;
    System.out.println("What country do you live in?");
    country = address.next();
    saveFile.write (country + "\r\n");

    String Area;
    System.out.print("Okay now what area do you live in?" +  "\r\n");
    Area = address.next();
    saveFile.write (Area + "\r\n");

    String Road;
    System.out.print("Okay now what road do you live on?" +  "\r\n");
    Road = address.next();
    saveFile.write (Road + "\r\n");

    String Postcode;
    System.out.print("And finally whats your postcode?" +  "\r\n");
    Postcode = address.next();
    saveFile.write (Postcode + "\r\n");


    if(address != null) 
        address.close();

    // Closing save file


    saveFile.close();
    System.exit(1);

虽然注释正确地指出您不应该使用\r\n\n,但应该足够了,或者使用PrintWriter和println。。。相反,我认为您的错误是使用address.next而不是更合适的address.nextLine

每次写入文件时添加\r\n将在文件中添加回车符和新行。所有提示都是以值后跟换行符的形式写入的,因此空格或空白响应也会写入文件,后跟换行符。由于您是Java新手,您可能不知道向字符串添加\r\n会添加换行符。如果不希望出现这种行为,则需要在代码中添加一个测试,检查响应是空白还是空白,如果是空白,则跳过将其写入文件。这将是一个很好的函数-不要在每次需要时重复测试代码。\n足以在unix/linux上添加换行符,\r\n是一个Windows行结尾。如果从系统属性中获取平台行分隔符,则可以减少代码的平台依赖性:String lineSeparator=system.getPropertyline.separator;。然后使用lineSeparator,而不是\r\n。谢谢大家这是我在这个网站上的第一个问题,你们都很有帮助,很快就把它整理好了,谢谢大家!