1

重複の可能性:
Java: プラットフォームに依存しない改行文字を取得するにはどうすればよいですか?

class でファイルにエンターを書き込みたいのですRandomFileAccessが、うまくできません。

私は何をすべきか ?

このコードのように:

char enter = '\n' ;
outputfile.writeChar(enter);

私はWindowsを使用しています....あなたの助けに感謝しますが、うまくいきませんでした:(

public class MainClass {
    public static void main(String[] args) {
        String BeforEnter = "It's Before Enter...";
        String Enter = System.getProperty("line.separator");
        String AfterEnter = "It must be on next Line...";

        File MyFile = new File("test.txt");
        try {
            RandomAccessFile TextFile = new RandomAccessFile(MyFile, "rw");
            TextFile.writeChars(BeforEnter);
            TextFile.writeChars(Enter);
            TextFile.writeChars(AfterEnter);
            TextFile.close();

私はこのスタイルのファイルを期待していました:

入る前です…

次の行にあるはずです...

しかし、それはこのようになります: :(

入る前です。. . 次のラインに行かなければなりません。. .

4

2 に答える 2

3

System.getProperty("line.separator");代わりに改行文字を使用してください。

javadocに従って

オペレーティング システムがテキスト ファイルの行を区切るために使用するシーケンス

于 2012-10-31T15:17:19.883 に答える
3

使用しているオペレーティング システムは何ですか? これを使用することをお勧めします:

String enter = System.getProperty("line.separator");

上記のスニペットを使用すると、現在使用しているオペレーティング システムによって改行が変わるため、改行の正確な詳細について心配する必要はありません。

たとえば、Windows\r\nでは 、現在の Mac と Linux では\n、古い Mac では です\r

于 2012-10-31T15:18:36.747 に答える