Как хранить строки внутри файлов .txt, не очищая то, что уже находится в этом файле Java - PullRequest
0 голосов
/ 10 сентября 2018

То, что у меня сейчас есть, это

import java.io.*;
import java.security.acl.NotOwnerException;
import java.util.Scanner;

class Main {

  public static void main(String args[])
  {
      try{
    System.out.print("Enter username: ");
    Scanner scanner = new Scanner(System.in);
    String username = scanner.nextLine();
    System.out.print("Enter email: ");
    Scanner scanner2 = new Scanner(System.in);
    String email = scanner.nextLine();
    System.out.print("Enter password: ");
    Scanner scanner3 = new Scanner(System.in);
    String password = scanner.nextLine();


    // Create file 
    FileWriter fstream = new FileWriter("username.txt");
        BufferedWriter out = new BufferedWriter(fstream);
    out.write(username + ":" + email + ":" + password);
    //Close the output stream
    out.close();
    }catch (Exception e){//Catch exception if any
      System.err.println("Error: " + e.getMessage());
    }
  }
}

Но он продолжает очищать первую строку. Есть ли способ, чтобы я мог просто добавить строку каждый раз вместо очистки первой? Если так, может кто-то, пожалуйста, помогите мне Я использую repl.it для Java.

1 Ответ

0 голосов
/ 10 сентября 2018

Вам нужно открыть файл с флагом добавления как true.

FileWriter fstream = new FileWriter("username.txt",true);
    BufferedWriter out = new BufferedWriter(fstream);
out.write("\n" + username + ":" + email + ":" + password);

Это гарантирует, что содержимое файла в приложении. Кроме того, \ n гарантирует, что каждая строка будет напечатана на новой строке в файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...