為什麼 Windows 提示字元中的重定向運算子會建立忽略換行符號的文字?

為什麼 Windows 提示字元中的重定向運算子會建立忽略換行符號的文字?

我嘗試使用> and >>java 類別中的\n重定向運算子輸出到文字文件,但當文件開啟方式為記事本從 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.txt)打開為記事本:

This
Should
Be
Separated.

上面這兩個應該是相等的。

我測試了n級 民眾但這並沒有改變結果。

我搜尋並找到瞭如何echo換行,這不是我想要的,我希望重定向的文字檔案像迅速的

一個有趣的細節是當我貼來自n.txt在這裡 (寫一個問題), 在裡面微軟Word,記事本++或者寫字板或在引用的程式中開啟文件)它「修復」了錯誤並且等於結果類別

編輯

我認為這不是重複的,因為當我寫這個問題時,我什至沒有考慮過可能的情況記事本問題。標題完全不同,所以我為那些不認為問題在於的人回答了我自己的問題記事本像我之前一樣,可能會得到一個很好的解決方案。

如果我錯了,我很樂意得到糾正。

答案1

在搜尋有關換行和文字檔案的更多資訊時,我發現了問題這裡在超級用戶社區解釋了正在發生的事情。

問題不在於德迅速的, 是個記事本視窗對我來說是 Windows 10,對於另一個問題的作者來說是 Windows 7)不識別這種類型換行,引用@Paul回答了我正在談論的問題:

記事本僅辨識 CR、LF(0x0d、0x0a),而其他來源可能僅使用 CR 或僅 LF。

現在我建議使用作為第一個文字編輯器寫字板或者記事本++可以正常工作。

在裡面記事本:

記事本

記事本++寫字板:

記事本++ 寫字板

其他可能的解決方案是從記事本,貼在記事本++,寫字板,微軟Word或任何識別這種類型換行符的文字編輯器,然後將其複製回來。

欲了解更多信息,請轉到問題“記事本忽略換行符”

相關內容