2011-11-30 7 views
0

DataOutputStream.writeBytes(String) 메서드를 사용하여 텍스트 파일에 문자열을 쓰는 방법이 있습니다. 개행 문자가있는 문자열 (예 : "I need \n help!")을 작성하면 메모장이나 기타 기본 텍스트 편집기에 새 행이 표시되지 않습니다. 그러나 워드 패드, MS 워드 등에서 표시되는 이유는 무엇입니까? 해결할 수 있습니까?Java의 텍스트 파일에 쓰기

+2

관련 일종의 메모장 + +, http://notepad-plus-plus.org/와 같은 더 나은 편집기를 사용해보십시오. 필자는 줄 끝 (\ n과 \ r과 \ r \ n)에 민감한 파일 형식 (ER7/HL7)과 비 편집 ASCII 문자를 자주 사용하며이 편집기는 실제로 무엇이 보이는지 표시 할 수 있습니다 그곳에. 무료이며 시도해보고 도움이되는지 확인하십시오! – Freiheit

답변

2

대부분 메모장이 아닌 실제 텍스트 편집기를 사용합니다.

다른 맛을 이해하는 텍스트 편집기를 사용하지 않거나 변환을 통해 무언가를 통해 파일을 필터링하려는 경우 시스템 별 개행을 작성해야합니다.

System.getProperty("line.separator"); 

이렇게하면 OS에 특정한 줄 구분 기호가 생깁니다. 생각보다 덜 유용합니다.

System.out.printf("%n"); 

이것은 동일합니다 (String.format에서도 사용 가능). 또한 당신이 생각하는 것보다 덜 유용합니다. 모든 파일은 모든 시스템에 존재할 수 있으므로 편집기로 편집하면 더 많은 편집자가됩니다.

1

직접 \ n을 사용하는 대신 System.getProperty("line.separator");을 사용해야합니다.

+0

대신 \ r \ n을 사용할 수도 있습니다. 그것은 모든 기지를 커버하고 아무것도 망칠하지 않습니다. 1000 라인마다 몇 밀리 초를 저장하므로 큰 차이가 없습니다. – Jon