Java에서 문자 리터럴 '\ n'과 '\ r'의 차이점은 무엇입니까?
Java에서 개행 문자와 캐리지 리턴 문자는 모두 동일한 효과를 보이는 것 같습니다.
char 리터럴 \n과 \rJava 의 실제 차이점은 무엇입니까 ?
(가) 위의에 대해 묻는 것을주의 \n 문자 가 아닌 newLine()에 기능 BufferedWriter, 그리고 그래서 이 다른 질문 관련이 없습니다.
\n줄 바꿈 (LF) 문자, 문자 코드 10. \r캐리지 리턴 (CR) 문자, 문자 코드 13입니다. 이러한 기능은 시스템마다 다릅니다. 예를 들어, Windows에서 텍스트 파일의 행은 CR 다음에 바로 LF (예 : CRLF)를 사용하여 종료됩니다. Unix 시스템과 그 파생물에서는 LF 만 사용됩니다. (Mac OS X 이전의 Mac은 CR을 사용했지만 Mac OS X는 * nix 파생 제품이므로 LF를 사용합니다.)
예전에는 LF가 말 그대로 프린터에서 줄 바꿈을했고 (페이지에서 수평으로 이동하지 않고 한 줄 아래로 이동) CR도 마찬가지로 용지를 위로 이동 하지 않고 줄의 시작 부분으로 다시 이동했습니다. 따라서 일부 시스템 (Windows와 같이) CR (왼쪽으로 돌아 가기) 및 LF (및 용지 공급)를 보냅니다.
이 모든 혼란 때문에 일부 출력 대상은 여러 줄 바꿈 시퀀스를 허용하므로 출력 대상에 따라 두 문자에서 동일한 효과를 볼 수 있습니다.
\nUnix 용
\r은 Mac 용 (OS X 이전)
\r\n은 Windows 형식 용입니다.
당신은 또한 취할 수 있습니다 System.getProperty("line.separator")
그것은 당신에게 당신의 OS에 적합한 것을 줄 것입니다
작업하는 플랫폼에 따라 다릅니다. 올바른 결과를 얻으려면-
System.getProperty("line.separator")
차이점은 Java에 한정되지 않고 플랫폼에 따라 다릅니다. 역사적으로 UNIX와 유사한 OS는 \n줄 바꿈 문자로 사용 되었으며, 일부 다른 사용되지 않는 OS는 사용 \r되었으며 Windows OS에서는 \r\n.
실제로 결과를 인쇄하는 데 사용되는 항목에 따라 다릅니다. 일반적으로 결과는 다음과 같이 동일합니다.
역사적으로 캐리지 리턴은 home버튼의 기능에 대해 수행해야 합니다. 캐럿을 줄의 시작 부분으로 되돌립니다.
\n 새 줄을 줄 것이지만 캐럿을 움직이지는 않습니다.
오래된 프린터에 대해 생각하면 문자 세트의 원작자가 어떻게 생각하고 있는지 거의 생각하고 있습니다. 급지 장치를 이동하고 캐럿을 이동하는 다른 작업입니다. 이 두 문자는 그 차이를 표현합니다.
콘솔 (Eclipse)에서 문자열을 인쇄 할 때 \ n, \ r 및 \ r \ n은 동일한 효과를 나타내며 모두 새 줄을 제공하지만 \ n \ r (또한 \ n \ n, \ r \ r) 두 개의 새로운 줄을 줄 것입니다; 파일에 문자열을 쓸 때, \ r \ n 만 새 줄을 줄 수 있습니다.
'IT Share you' 카테고리의 다른 글
| Bundler를 통한 mysql2 gem 설치 오류 (0) | 2020.11.29 |
|---|---|
| data.frame의 행을 N 번 반복 (0) | 2020.11.29 |
| Swift 객체를 JSON으로 직렬화하거나 변환하는 방법은 무엇입니까? (0) | 2020.11.29 |
| Visual Studio Code git과의 병합 충돌을 해결하는 방법은 무엇입니까? (0) | 2020.11.29 |
| .NET에서 다음 TCP 포트 찾기 (0) | 2020.11.29 |