C #의 Environment.Newline과 같이 Java에 정의 된 줄 바꿈 상수가 있습니까?


199

C #에는 실행중인 플랫폼에 따라 변경된 정적 속성 Environment.Newline 이 있습니다.

Java와 비슷한 것이 있습니까?


2
기술적으로 물어보아야합니다. Java는 c #이 Environment.Newline을 만들 때 구현 한 newLine 속성을 어떻게 표현합니까
Peter

5
이제 내 진술을 다시 읽었으므로 나 자신도 왜 내가 생각하고 있는지 궁금해한다
Peter

답변:



88

자바 7 :

System.lineSeparator()

자바 API : System.lineSeparator

시스템 종속 행 구분자 문자열을 리턴합니다. 시스템 속성 line.separator의 초기 값 인 항상 같은 값을 반환합니다. UNIX 시스템에서는 "\ n"을 반환합니다. Microsoft Windows 시스템에서는 "\ r \ n"을 반환합니다.


60

이 속성은 많은 사람들이 생각하는 것만 큼 유용하지 않습니다. 예를 들어 앱이 Windows 컴퓨터에서 실행되고 있다고해서 읽은 파일이 Windows 스타일의 줄 구분 기호를 사용한다는 의미는 아닙니다. 많은 웹 페이지에는 "\ n"과 "\ r \ n"이 혼합되어 있으며, 서로 다른 소스와 함께 모여 있습니다. 텍스트를 일련의 논리적 줄로 읽을 때는 항상 세 가지 주요 줄 구분자 스타일 (Windows ( "\ r \ n"), Unix / Linux / OSX ( "\ n") 및 OSX 이전 Mac ( "\ r").

텍스트를 작성할 때는 실행중인 플랫폼보다 파일이 어떻게 사용되는지에 더 관심을 가져야합니다. 예를 들어, 사람들이 Windows 메모장에서 파일을 읽을 것으로 예상되는 경우 "\ r \ n"은 한 종류의 구분 기호 만 인식하므로 사용해야합니다.


OSX 이전 Mac ( "\ r")은 여전히 ​​실용적입니까? 아니면 안전하게 "잊혀 질"수 있다고 말하는 것이 사실입니까?
Pacerier

6
머신 자체가 여전히 사용 중인지 여부에 관계없이 OSX 이전 Mac에서 작성된 문서가 여전히 있다고 가정해야합니다 . 나는 그것을 단축 (?:\r?\n|\r)하려는 유혹을 알고 (?:\r?n)있지만, 안전하지 않다고 생각합니다. (?:\r\n|[\r\n])어쨌든 선호 합니다. 나는 그것이 더 많은 캐릭터라는 것을 알고 있지만 더 깔끔해 보입니다. : D 그리고 얼마나 많은 라인 구분 기호를 사용 하는지 신경 쓰지 않으면 [\r\n]+잘 작동합니다.
Alan Moore
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.