Windows 프롬프트의 리디렉션 연산자가 줄 바꿈을 무시하고 텍스트를 생성하는 이유는 무엇입니까?

Windows 프롬프트의 리디렉션 연산자가 줄 바꿈을 무시하고 텍스트를 생성하는 이유는 무엇입니까?

> and >>Java 클래스의 리디렉션 연산자를 사용하여 텍스트 파일로 출력하려고 했지만 \n다음과 같은 경우 Java의 줄 바꿈이 무시됩니다..txt파일은 다음과 같이 열립니다.메모장Windows 10부터. 흥미로운 점은즉각적인줄 바꿈은 잘 작동하고 내가 사용하면 System.out.println("")정상적으로 작동합니다.메모장.

줄 바꿈이 있는 클래스 \n:

class n{

    public static void main(String[] args){

        System.out.print("This\n");
        System.out.print("Should\n");
        System.out.print("Be\n");
        System.out.print("Separated.\n");


    }

}

다음을 사용하는 수업 System.out.println(""):

class ln{

    public static void main(String[] args){

        System.out.println("This");
        System.out.println("Should");
        System.out.println("Be");
        System.out.println("Separated.");

    }

}

에서 출력즉각적인:

즉각적인

텍스트 파일로 출력클래스 n(n.txt) 다음으로 열림메모장:

ThisShouldBeSeparated.

텍스트 파일로 출력클래스 ln(ln.txt) 다음으로 열림메모장:

This
Should
Be
Separated.

위의 두 가지는 동일해야 합니다.

나는클래스 n 공공의하지만 결과는 바뀌지 않았습니다.

줄 바꿈 방법을 검색하고 찾았지만 echo이는 내가 원하는 것이 아닙니다. 리디렉션된 텍스트 파일이 다음과 같이 작동하길 원합니다.즉각적인.

한 가지 흥미로운 세부정보는 다음의 텍스트를 붙여넣을 때입니다.n.txt여기에서 (질문 쓰기),마이크로 소프트 워드,메모장++또는워드 패드(또는 인용된 프로그램에서 파일을 엽니다.) 오류를 "수정"했으며 결과는 다음과 같습니다.클래스 ln.

편집하다

질문을 썼을 때 가능한 것에 대해 생각조차 하지 않았기 때문에 중복이 아닌 것 같습니다.메모장문제. 제목이 완전히 다르기 때문에 문제가 다음과 같다고 생각하지 않는 사람들을 위해 내 질문에 대답했습니다.메모장, 이전의 나처럼 좋은 해결책을 얻을 수도 있습니다.

내가 틀렸다면 기꺼이 정정해 드리겠습니다.

답변1

줄 바꿈 및 텍스트 파일에 대해 더 자세히 검색하는 동안 나는 다음을 발견했습니다.질문여기에서수퍼유저무슨 일이 일어나고 있는지 설명하는 커뮤니티.

문제는 드가 아니다즉각적인, 는메모장~에서윈도우(내 경우에는 Windows 10, 다른 질문 작성자의 경우에는 Windows 7) 이러한 유형을 인식하지 못하는 경우줄 바꿈, 제가 ​​말하는 질문에 답변한 @Paul의 말을 인용합니다.

메모장은 CR, LF(0x0d, 0x0a)만 인식하는 반면, 다른 소스에서는 CR만 또는 LF만 사용할 수 있습니다.

이제 첫 번째 텍스트 편집기로 다음을 사용하는 것이 좋습니다.워드 패드또는메모장++정상적으로 작동합니다.

에서메모장:

메모장

~ 안에메모장++그리고워드 패드:

메모장++ 워드 패드

다른 가능한 해결책은 다음에서 텍스트를 복사하는 것입니다.메모장, 에 붙여넣기메모장++,워드 패드,마이크로 소프트 워드또는 이러한 유형의 줄 바꿈을 인식하고 이를 다시 복사하는 텍스트 편집기입니다.

자세한 내용은 질문으로 이동하세요."줄 바꿈을 무시하는 메모장".

관련 정보