Windows プロンプトからのリダイレクト演算子が改行を無視してテキストを作成するのはなぜですか?

Windows プロンプトからのリダイレクト演算子が改行を無視してテキストを作成するのはなぜですか?

> and >>Javaクラスのリダイレクト演算子を使用してテキストファイルに出力しようとしましたが、 \nJavaからの改行は無視されます。。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テキスト)が開かれたメモ帳:

ThisShouldBeSeparated.

テキストファイルへの出力クラス lnテキスト)が開かれたメモ帳:

This
Should
Be
Separated.

上記の 2 つは等しいはずです。

私はテストしましたクラスn 公共しかし結果は変わりませんでした。

echo改行方法について検索して見つけましたが、それは私が望んでいることではありません。リダイレクトされたテキストファイルが次のように動作することを望んでいます。プロンプト

興味深いのは、テキストここに (質問を書く)、 の中にマイクロソフトワードメモ帳++またはワードパッドまたは、引用されたプログラムでファイルを開く)エラーを「修正」し、結果と同じになりました。クラス ln

編集

重複ではないと思います。質問を書いたときに、その可能性については全く考えていなかったからです。メモ帳問題です。タイトルは全く違うので、問題がメモ帳以前の私のように、良い解決策が得られるかもしれません。

もし私が間違っていたら、訂正していただければ幸いです。

答え1

改行とテキストファイルについてさらに調べていたところ、質問ここではスーパーユーザー何が起こっているのかを説明してくれたコミュニティ。

問題はプロンプト、 それはメモ帳からウィンドウズ私の場合はWindows 10、他の質問の著者の場合はWindows 7)このタイプの改行私が話している質問に答えてくれた@Paulの言葉を引用します:

メモ帳は CR、LF (0x0d、0x0a) のみを認識しますが、他のソースでは CR のみ、または LF のみを使用する場合があります。

最初にテキストエディタとして使うことをお勧めしますワードパッドまたはメモ帳++正常に動作します。

の中にメモ帳:

メモ帳

メモ帳++そしてワードパッド:

メモ帳++ ワードパッド

他の解決策としては、メモ帳、貼り付けるメモ帳++ワードパッドマイクロソフトワードまたは、このタイプの改行を認識する任意のテキスト エディターで、改行をコピーして戻します。

詳細については質問をご覧ください「メモ帳は改行を無視します」

関連情報