2016-06-04 15 views
0

파일에 쓰는 데 문제가 있습니다.JTextArea의 내용을 행 분리 기호로 파일에 저장

일반적으로 간단한 텍스트 편집기를 만들고 있습니다. 나는이 방법으로 파일을로드 :

try(BufferedReader br = new BufferedReader(new FileReader(currentlyEditedFile))) { 
      String line = ""; 
      editor.setText(""); 
      while((line = br.readLine()) != null) { 
       editor.append(line + "\n"); 
      } 
     } catch(Exception ex) { 
      ex.printStackTrace(); 
     } 

과 일부 수정 후, 나는 다시 파일을 (쓰기)를 저장합니다.

try(PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(currentlyEditedFile)))) { 
      String[] lines = editor.getText().split("\\n");//Tried \n, \\n 
      for(String s : lines) 
       pw.println(s); 
     } catch(Exception ex) { 
      ex.printStackTrace(); 
     } 

및 내용은 파일로 이동하지만, 모두 한 줄에 있습니다

나는이 방법으로 그 일을하고있다. 모든 아이디어를 줄 단위로 작성하는 방법? Windows를 사용하는 경우

+0

창을 사용하고 있습니까? – Hackerdarshi

+0

예, Windows 10 – DamDev

답변

2

당신은 간단하게 다음 JTextArea에 텍스트 파일의 내용을로드 할 수 있습니다

JTextArea textArea = new JTextArea(); 
FileReader reader = new FileReader("D:/text1.txt"); 
textArea.read(reader, "Content of File"); 
reader.close(); 

당신은 다음 파일에 JTextArea의 내용을 쓸 수 있습니다 간단하고 플랫폼 독립적 인 방법 :

PrintWriter pw=new PrintWriter("D:/text1.txt"); 
textArea.write(pw); 
pw.close(); 

희망, 이것이 당신에게 도움이됩니다.

+0

좋은 간단한 방법이지만 내 솔루션과 동일한 효과가 있습니다. JTextArea에 내용을로드하면 제대로 작동하지만 저장하면 한 줄에 내용이 저장됩니다. :) – DamDev

+0

@DamDev 원본 파일을 확인하십시오. 그것은 한 줄에 모든 것을 가지고 있습니까? '\ r \ n'을 사용하면 리눅스에서도 같은 방식으로 작동합니까? 나는 실제로 내 Windows 시스템에서 테스트 했으므로 제대로 작동하는 것 같습니다. –

+0

그래, 내 잘못이야. 그냥 파일을로드 된 pravious 방법으로, 아마 그 이유는 작동하지 않았다. 나는 그것을 다시 한번 시도하고 잘 작동한다. 고맙습니다! :) – DamDev

1

, 당신이해야 할 :

editor.append(line + "\r\n"); 

을 Windows에서 새로운 라인이 \r\n로 표시되기 때문에, 즉, 캐리지 리턴과 줄 바꿈.