2017-10-11 2 views
0

저는 Java로 간단한 은행 계좌를 만들고 입력 된 사용자의 이름을 .txt 문서로 저장하려고했습니다. 문제는 코드를 실행할 때마다 텍스트 문서의 첫 번째 행에서 이름이 대체된다는 것입니다.Java에서 FileWriter를 사용하여 새 줄을 쓰려면 어떻게해야합니까?

package bank.account; 
import java.util.Scanner; 
import java.io.*; 

public class ATM 
{ 
    public static void main(String[] args){ 


    Scanner sc = new Scanner(System.in); 
    BankAccount userAccount = new BankAccount(); 
    System.out.println("Please enter your name in order to make a new account:"); 


    String fileName = "name.txt"; 
    try { 
     FileWriter fileWriter = 
       new FileWriter(fileName); 
     BufferedWriter bufferedWriter = 
       new BufferedWriter(fileWriter); 

     String name = sc.nextLine(); 
     userAccount.setaccName(name); 
       bufferedWriter.write(userAccount.getaccName()); 
       bufferedWriter.close(); 

    } 
    catch(IOException ex) { 
      System.out.println(
       "Error writing to file '" 
       + fileName + "'"); 

     } 

    System.out.println("Please enter the amount you would like to deposit"); 
    double money = sc.nextDouble(); 
    userAccount.deposit(money); 
    System.out.println(userAccount.getaccBalance()); 
    System.out.println(userAccount.getaccName()+ " your balance is " + userAccount.getaccBalance()); 

    } 

} 
+1

이 질문은 이미 여기에 답이 있습니다 https://stackoverflow.com/questions/18549704/java-filewriter-create-a-new-line – deHaar

+0

FileWriter.write ("\ n")를; 파일에 개행 문자를 추가하십시오. – Lokesh

+0

'BufferedWriter' 클래스의'newLine()'을보다 잘 사용하십시오. – dooxe

답변

2

당신으로 인해 new FileWriter(fileName);의 사용 (클래스/생성자에의 JavaDoc을 읽기)에 파일 내용을 덮어 쓰는 것입니다. 파일에 new FileWriter(fileName, true); ~ 을 사용하여을 추가하십시오.

파일이 비어 있지 않은 경우 이름 앞에 줄 바꿈 문자 ("\n")를 추가해야합니다. 그렇지 않으면 모든 이름이 한 줄로 표시됩니다.

2

이 코드는 파일을 열거 나 만들며 새 줄을 새 줄에 추가합니다.

PrintStream fileStream = new PrintStream(new File("a.txt")); 
fileStream.println(userAccount.getaccName()); 

또한 당신은 PARAM 후 결과가 단지 새로운 라인에 추가됩니다 " 사실 APPEND ="와 FileWriter을 만들 수 있습니다.

// FileWriter(File file, boolean append) 
FileWriter fileWriter = 
       new FileWriter(filePathName, shouldAppend); 
관련 문제