Как сделать разрыв строки при записи строки в файл? - PullRequest
1 голос
/ 05 мая 2019

Я хочу записать текст в файл, и каждый раз, когда я делаю это, следует создавать новую строку.Я видел много ответов на этот вопрос, просто «используй \ n», но это не работает для меня.

Это код, который я использовал:

File file = new File("C:\\Users\\Schule\\IdeaProjects\\projectX\\src\\experiment\\input.txt");
        boolean result;
        if(!file.exists()) {
            try {
                // create a new file
                result = file.createNewFile();
                // test if successfully created a new file
                if(result) {
                    System.out.println("Successfully created " + file.getCanonicalPath());
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        String output = name + ": " + highscoreString + "\n";
        try {
            PrintWriter out = new PrintWriter(new FileWriter(file, true));
            out.append(output);
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

Код, который яУ меня есть новый рекорд и имя человека, который сделал это в файле.Он прекрасно работает, за исключением того, что он записывает все в строке, например, например: Никола: Ваш рекорд 10 секунд. Том: Ваш рекорд 11 секунд. Но я хочу: Никола: Ваш рекорд 10 секунд. Томас: Ваш рекорд 11 секунд * 1006.*

Я знаю, что есть некоторые вещи, которые мне нужно исправить и улучшить, но сейчас это моя самая большая проблема.Кто-нибудь знает что делать?(извините за мое имя, кстати;)

Ответы [ 2 ]

6 голосов
/ 05 мая 2019

Вам нужно сделать: out.write(System.getProperty("line.separator"));

System.getProperty("line.separator") даст вам разделитель строк для вашей платформы (будь то Windows / Linux /..).

5 голосов
/ 05 мая 2019

Разрывы строк в Windows и Linux различны.Попробуйте написать \r\n.

EDIT

Если вы используете System.lineSeparator(), чтобы получить разрыв строки, это даст разрыв строки на основе платформы.Поэтому, если вы создадите файл в Unix и отправите его пользователям Windows, они увидят этот файл одной строкой.Но если вы используете Windows OS для создания файла, пользователи Linux увидят правильный файл.

...