2014-01-11 6 views
1

참고 : user2602219Andrew Thompson 덕분에 문제가 해결되었습니다. 나는 두 가지 대답을 모두 승인 할 수 있었으면 좋겠다.문자열로 JTextArea 텍스트 쓰기

나는 많은 것을 수색했다. 나는 뭔가를 찾았지만 그들은 나를 위해 적합하지 않았습니다.

내가 원하는 건

는 본

Hello 
World 

쓰기입니다. 하지만 내 txt 파일에서 HelloWorld 보여줍니다

try{ 
     JTextArea area = new JTextArea(); 
     String path = folder+"/"+name+".txt"; 
     BufferedWriter output = new BufferedWriter(new FileWriter(path)); 
     area.write(output); 
     output.close(); 
    } 
    catch(IOException ex){} 

위의 코드를 잘 작동합니다. 그러나 필자는 글쓰기 전에 무엇인가해야합니다.

암호화 방법 (enc)이 있습니다. 그것은 문자열을 취하고 글자를 다른 글자로 대체합니다. 예를 들어

:

String text = "ABC"; 
String enc_text = enc(text); 

// enc_text 지금 "ZXW"입니다;

하지만 여기에 문제가 있습니다. JTextArea.write는 "Writer"를 찾지 만 암호화 기가 문자열을 반환하기 때문에 문자열을 써야합니다.

짧은 이야기. 이

Gteeu 
Wuazx 
+0

'setText' 메소드를 찾으십니까? –

+0

유? 문자열을 암호화해야합니까? –

+0

아무도 들지 않습니다. 문자열로 파일에 쓸 때 새 줄이 제거됩니다.JTextArea.write를 사용하여 쓸 때 암호화 방법을 사용할 수 없습니다. 필요한 것은 JTextArea.write와 같은 메소드를 사용하지만 문자열로 인수를 취합니다. – Degauser

답변

1
  1. 가 첫 번째 텍스트 영역에서 암호화되지 않은 문자열을 가지고있는 줄 것이다 이쪽으로.
  2. 암호화하십시오.
  3. 최종 사용자가 즉시 볼 수없는 두 번째 텍스트 영역에 암호화 된 문자열을 넣습니다.
  4. 암호화 된 텍스트 영역에 JTextCompnent.write(..) 메서드를 사용하십시오.
+0

내 질문에 대해 도움을 주신 것에 대해 감사 드리고 싶습니다. 나는 그것을 해결했습니다 :) – Degauser

0

시도

Hello 
World 

을하는 방법이 사용하기 : n \

String text = "Hello" + "\nWorld"; 

새로운 라인입니다.

+0

텍스트는 JTextArea에서 가져오고 사용자는 무언가를 씁니다. 귀하의 답변 주셔서 감사하지만 이것은 나를 도울 수 없습니다. 하지만 사용자가 생성 한 모든 JTextArea 줄을 \ n 대체하는 방법을 알려 주시면 문제를 해결할 수 있습니다. – Degauser

0

정적 공백 writeStringToFile (파일 파일, 문자열 데이터) 한 메서드 호출로 파일에 텍스트를 쓸 수 있습니다.

또는 FileUtils.writeStringToFile (새 파일 ("test.txt"), "Hello File");

+0

내 코드의 일부를 볼 수 있도록 파일에 써야합니다. – Degauser

+0

파일에 텍스트를 쓰는 방법을 묻고 있습니까? 질문은'JTextArea'와 관련이 있다고 생각했습니다. 당신이 묻고있는 것을 분명히하십시오! –

+0

혹시 질문을받지 못하셨습니까? 텍스트 파일을 쓰고 싶지 않은데 왜 IO 명령이 필요한가요? 내 "경로"변수는 무엇입니까? BufferedWriter를 사용하는 이유는 무엇입니까? 이 사람은 분명히 텍스트 파일에 쓰기를 원합니다. – Degauser

0

각 행을 개별적으로 읽고 원하는 txt 파일에 쓰려고 했습니까? 이렇게하면 "\ n"을 사용하여 새 행을 쓸 수 있습니다. 내 마음에 온 또 다른 해결책은 다음과 같은 방법을 사용하는 것입니다. String s = ""; s = s.format (무언가 + "\ n");

당신이 문자열 자체 :)

+0

번. 실제로 그것은 내가 필요한 것일 수 있습니다. 하지만 내가 말했듯이, 나는 텍스트를 암호화해야한다. 그래서 기본적으로 JTextArea의 텍스트를 문자열 (하나의 문자열이어야 함)로 가져 와서 암호화해야합니다. 그런 다음 암호화 된 텍스트를 txt 파일에 작성하십시오. – Degauser

+0

이상한 해결책 일지 모르지만 JTextArea에 추가되는 즉시 암호화 된 문자를 파일에 추가하는 방법에 대해 생각해 보았습니까? 그리고 사용자가 Enter/Return 키를 사용할 때마다 KeyListener를 추가하여 "\ n"을 추가 할 수 있습니다. – HishamGarout

+0

예. 나는 그것에 대해 생각했습니다. JTextArea를 입력하면 (예를 들어) #을 씁니다. 그리고 # 문자를 모두 \ n으로 대체하십시오. 사용자를 방해 할 수는 있지만 다른 방법을 찾지 못하면이 작업을 수행해야합니다. Enter를 눌러 JTextArea와 문자에 새로운 라인을 추가 할 수 있습니까? 사용자가 새 줄을보아야 할 때 문자를 추가해야합니다. 이 일을하는 방법을 알고 있습니까? – Degauser