Sunday, October 29, 2006
자바/Java] System.out.format() 줄바꿈, 운영체제(OS) 종류에 맞게; line separator
이 해결법을 오늘에야 겨우 발견했습니다ㅠㅠ
문제는 이렇습니다.
System.out.format("%s\n"...
이렇게 \n 으로 출력하면 유닉스 스타일로 줄바꿈이 되어 버립니다. 리눅스/유닉스에서는 괜찮겠지만, 윈도우에서는 문제가 생깁니다.
그렇다고 해서
System.out.format("%s\r\n"...
이렇게 하면, 윈도우에서는 괜찮지만 리눅스/유닉스에서는 또 문제가 생깁니다.
따라서 운영체제의 종류에 맞게 자동으로 줄바꿈 문자를 삽입하는 포맷 지정자가 있어야 하는데 그것이 바로
%n
이었습니다. 그렇지만 %n 에 어떤 값을 대입해 줄 필요는 없고, 그냥 포맷 속에 %n 이라고 적기만 하면 됩니다.
즉 \n 이 아닌, %n 을 사용하면 됩니다.
▶▶ 자바/Java] 현재 운영체제의 줄바꿈 문자 얻기; line.separator
문제는 이렇습니다.
System.out.format("%s\n"...
이렇게 \n 으로 출력하면 유닉스 스타일로 줄바꿈이 되어 버립니다. 리눅스/유닉스에서는 괜찮겠지만, 윈도우에서는 문제가 생깁니다.
그렇다고 해서
System.out.format("%s\r\n"...
이렇게 하면, 윈도우에서는 괜찮지만 리눅스/유닉스에서는 또 문제가 생깁니다.
따라서 운영체제의 종류에 맞게 자동으로 줄바꿈 문자를 삽입하는 포맷 지정자가 있어야 하는데 그것이 바로
%n
이었습니다. 그렇지만 %n 에 어떤 값을 대입해 줄 필요는 없고, 그냥 포맷 속에 %n 이라고 적기만 하면 됩니다.
자동 판단 줄바꿈 예제
public class Foo {
public static void main(String args[]) {
System.out.format("%s\n", "가나다라 (유닉스 줄바꿈)");
System.out.format("%s%n", "가나다라 (자동 줄바꿈)");
}
}
public static void main(String args[]) {
System.out.format("%s\n", "가나다라 (유닉스 줄바꿈)");
System.out.format("%s%n", "가나다라 (자동 줄바꿈)");
}
}
즉 \n 이 아닌, %n 을 사용하면 됩니다.
▶▶ 자바/Java] 현재 운영체제의 줄바꿈 문자 얻기; line.separator
tag: java
자바 | Java
<< Home