source

플랫폼에 의존하는 새로운 행 문자를 얻으려면 어떻게 해야 하나요?

manysource 2022. 11. 24. 21:41

플랫폼에 의존하는 새로운 행 문자를 얻으려면 어떻게 해야 하나요?

Java에서 플랫폼에 의존하는 새로운 라인을 얻으려면 어떻게 해야 합니까?사용할 수 없습니다"\n"온통.

Java 7에는 메서드가 있습니다.

사용할 수 있습니다.

System.getProperty("line.separator");

라인 세퍼레이터를 취득하다

line.separator 속성 외에 Java 1.5 이후 및 String을 사용하는 경우.사용할 수 있는 포맷(또는 다른 포맷 방식)%n에서와 같이

Calendar c = ...;
String s = String.format("Duke's Birthday: %1$tm %1$te,%1$tY%n", c); 
//Note `%n` at end of line                                  ^^

String s2 = String.format("Use %%n as a platform independent newline.%n"); 
//         %% becomes %        ^^
//                                        and `%n` becomes newline   ^^

자세한 내용은 Java 1.8 API for Formatter를 참조하십시오.

파일에 새 줄을 쓰려면 BufferedWriter의 newLine() 메서드를 사용하면 됩니다.

이것도 가능합니다.String.format("%n").

아니면String.format("%n").intern()바이트를 절약합니다.

Commons-Lang 라이브러리에는 SystemUtils라고 하는 상수 필드가 있습니다.라인_세퍼레이터

StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();

위의 스니펫에는 플랫폼에 관계없이 새로운 행으로 구분된2개의 문자열이 있습니다.

파일에 쓰는 경우,BufferedWriterinstance, 를 사용합니다.newLine()그 인스턴스의 메서드.플랫폼에 의존하지 않고 파일에 새 행을 쓸 수 있습니다.

String + String 등을 사용하여 문자열을 추가하지 않고 String Builder를 사용합니다.

String separator = System.getProperty( "line.separator" );
StringBuilder lines = new StringBuilder( line1 );
lines.append( separator );
lines.append( line2 );
lines.append( separator );
String result = lines.toString( );

언급URL : https://stackoverflow.com/questions/207947/how-do-i-get-a-platform-dependent-new-line-character