2016-03-13 2 views
0

Как сохранить несколько строк в один текстовый файл?Несколько строк в один текстовый файл? - Java

Я хочу напечатать «New Line» в том же текстовом файле каждый раз, когда код выполняется.

try { 
     FileWriter fw = new FileWriter("Test.txt"); 
     PrintWriter pw = new PrintWriter(fw); 

     pw.println("New Line"); 
     pw.close(); 
    } 
    catch (IOException e) 
    { 
     System.out.println("Error!"); 
    } 

Я могу создать новый файл, но не могу создать новую строку каждый раз, когда выполняется код.

ответ

1

Передайте true в качестве второго аргумента FileWriter для включения режима добавления.

  FileWriter fw = new FileWriter("filename.txt", true); 

Это сделает ваш файл, чтобы открыть в режиме добавления, а это значит, ваш результат будет добавлен в конец файла каждый раз, когда вы будете записывать в файл. Вы также можете написать '\ n' после каждого написания контента, чтобы он вставлял новую строку.

+0

Дайте мне знать, если это поможет вам! – SKG

+0

Работал для меня :) .... Как я могу создать новый текстовый файл каждый раз при запуске кода? ... Затем найдите этот конкретный текстовый файл и напишите ему? – AnotherUser

+0

Вы можете легко создавать новые файлы каждый раз, используя разные имена файлов каждый раз, когда выполняется вышеуказанный код, который будет создавать разные файлы, вы также можете передать имя разных файлов с помощью строкового массива – SKG

1

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

try (FileWriter fw = new FileWriter("Test.txt", true); // true for append 
    PrintWriter pw = new PrintWriter(fw)) { 
    pw.println("New Line"); 
} // try-with-resource closes everything. 

Примечание: открывающееся и закрытие файла для каждой строки стоит дорого, если вы делаете это много, я предлагаю оставить файл открытым и промывку вывода, который каждый раз.

1

Вы делаете это:

FileWriter fw = new FileWriter("Test.txt"); 

который перезапись каждый раз, когда вы выполняете эту строку в файл ...

НО вам нужно вместо того, чтобы добавить данные в файл

FileWriter fw = new FileWriter("Test.txt", true); 

посмотреть на конструктор в doc

1

Вам нужно открыть файл в режиме добавления. Вы можете сделать это следующим образом:

FileWriter fw = new FileWriter("Test.txt", true); 

Вот documentation то же самое.

Смежные вопросы