6

マルチプラットフォーム環境(Windows + Linux)でJavaを使用しています。ただし、作成するテキストファイルはすべて、EOLシーケンスとしてLFを使用する必要があります。

プログラムを実行しているプラ​​ットフォームに関係なく、JavaにこのEOLシーケンスを使用させる方法はありますか?プログラム全体を変更する必要はありません。つまり、System.out.printlnなどへのすべての呼び出しはそのままにしておく必要があります。関数の最後にある* lnのみが常に「0x0A」を出力し、「」は出力しないようにする必要があります。 0x0D0x0A」。

それを行うには2つの異なる方法が考えられますが、どちらかが可能かどうかはわかりません。

  1. プラットフォームに依存するデフォルトのEOLシーケンスをオーバーライドする
  2. DOSコマンドラインでプログラムを実行しているときでも、JavaにLinuxを実行していると信じ込ませる

これは可能ですか?それとも何か他のもの?

4

2 に答える 2

2

対応するシステム プロパティを次のように設定してみることができますSystem.setProperty("line.separator", "something you need");(JVM へのコマンド ライン パラメータを介して実現することもできます)。

または、必要に応じてprintinsetad ofprintlnを使用して、改行文字 ( "\r"、「\n」またはそれらの組み合わせ) を印刷することもできます。

于 2012-04-04T15:01:23.717 に答える
1

これこれを見てください。System.setProperty("line.separator", "\n");それらを組み合わせると、問題が解決する可能性があることがわかります。

ただし、まだテストしていません。そのため、リンクを追加したので、自分で確認できます。

于 2012-04-04T15:04:07.960 に答える