2017-11-16 6 views
1

안녕하세요, 출력을 텍스트 파일에 쓰는 프로그램을 만들고 있습니다.BufferedWriter write string by line

MyName 
Addres 
Location 
Paycheck 

을하지만 텍스트 파일에 기록 할 때는 다음과 같습니다 : 내 프로그램에서 내 문자열은 다음과 같습니다

MyName Addres Location Paycheck 

나는 하나의 toString 메소드에서 모든 것을 쓰고 있어요. 버퍼 작성기를 사용하여 문자열을 포맷하는 동안 어떻게 사용할 수 있습니까? 여기

내 코드입니다 :

       if (file != null) { 
            FileWriter fileWriter = null; 
            try { 
             fileWriter = new FileWriter(file.getAbsolutePath()); 

            } catch (IOException e) { 
             e.printStackTrace(); 
            } 
            BufferedWriter out = new BufferedWriter(fileWriter); 
            try { 
             out.write(emp.toString()); 
             out.close(); 
            } catch (IOException e) { 
             // TODO Auto-generated catch block 
             e.printStackTrace(); 
            } 
           } 

편집 : 파일 또는 텍스트를 작성하는 동안 하나가 System.lineSeparator()를 사용할 필요가

@Override 
public String toString() { 
    return "Name: " + name + " \nDOB: " + dob + " \nAddress: " + address + " \n******Paycheck******\nSalary: " 
      + myPaycheck.getSalary() + "\nFederal Income: " + myPaycheck.getTaxes() + "\nSocial Security: "+ myPaycheck.getSocialSecurity() + "\nMedicare: " + myPaycheck.getMedicare() 
      + "\nNet Salary: " + myPaycheck.getNetPay() + ""; 
} 
+0

Employee 클래스의 toString 메서드를 보여 주실 수 있습니까? –

+0

'emp'가 어떻게 생성되었거나 더 나은지를 보여줄 필요가 있고, Minimal, Complete 및 Verifiable 예제를 제공해야합니다 (https://stackoverflow.com/help/mcve 참조). 이것은 매우 단순한 프로그램이므로 전혀 어렵지 않아야합니다. – pcarter

답변

0

: 여기

는 EMP 클래스의 toString 메소드입니다 toString() 메서드를 변경하여 각 줄 또는 추가 된 개체 사이에 줄 구분 기호를 추가합니다.

편집 코드는 문자열을 별도의 줄로 씁니다. 출력 파일에서 행을 읽고 각 행을 인쇄하면 독자가 각 세부 사항을 별도의 행으로 처리한다는 것을 알 수 있습니다. 이제 파일의 다음 줄에 표시되도록 정확한 형식의 파일에이 파일을 쓰려면 객체를 ArrayList에 추가하고 동일한 내용을 반복하여 입력해야합니다.

3

bufferedwriter API "newLine"을 쉽게 사용할 수 있습니다.

+0

나는 그것을 시도했지만 작동하지 않았다. 문자열을 순환시켜야합니까? –