플랫폼 의존적 새로운 라인 캐릭터를 어떻게 얻습니까?
-
03-07-2019 - |
문제
Java에서 플랫폼 의존적 Newline을 어떻게 얻습니까? 나는 사용할 수 없다 "\n"
어디에나.
해결책
Separator 속성, Java 1.5 이상을 사용하는 경우 Separator 속성과 string.format (또는 다른 서식 방법) 사용할 수 있습니다 %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 ^^
참조 Pormatter의 Java 1.8 API 자세한 사항은.
다른 팁
Java 7은 이제 a System.lineSeparator()
방법.
당신이 사용할 수있는
System.getProperty("line.separator");
라인 분리기를 얻으려면
파일에 Newline을 쓰려고하는 경우 BufferedWriter의 단순히 사용할 수 있습니다. Newline () 방법.
이것은 또한 가능하다 : String.format("%n")
.
또는 String.format("%n").intern()
바이트를 저장합니다.
그만큼 커먼즈 라인 라이브러리에는 일정한 필드가 있습니다 SystemUtils.line_separator
파일에 글을 쓰고 있다면 BufferedWriter
인스턴스를 사용합니다 newLine()
해당 인스턴스의 방법. 파일에 새 줄을 쓰는 플랫폼 독립적 인 방법을 제공합니다.
StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();
위의 스 니펫에는 플랫폼에 관계없이 새로운 라인으로 분리 된 두 개의 문자열이 있습니다.
String + String 등을 사용하여 줄을 부여하지 마십시오. 대신 StringBuilder를 사용하십시오.
String separator = System.getProperty( "line.separator" );
StringBuilder lines = new StringBuilder( line1 );
lines.append( separator );
lines.append( line2 );
lines.append( separator );
String result = lines.toString( );
제휴하지 않습니다 StackOverflow