2016-04-22 1 views
9

Java FXでGUIを開発しているときに、System.getProperty( "line.separator")で異なる結果を得ているようです。ファイルへの書き込みやインターネットからのデータの取得中は "\ n"となります。基本的に違いは何ですか?System.getProperty( "line.separator")の違い。と " n"?

+0

強く関連するいくつかの質問があります。私は誰かが完全に重複しているかどうかは分かりませんが、少なくともあなたの質問は基本的にここで答えられます:http://stackoverflow.com/a/33505978/3182664 – Marco13

答えて

18

System.getProperty("line.separator")は、OSに依存する行区切り文字を返します。

Windowsでは、"\n""\r\n"が返されます。したがって、現在のオペレーティングシステムの行末を含むファイルを生成する場合は、System.getProperty("line.separator")を使用するか、PrintWriterを使用して書き込みます。

+0

だから、どちらが良いと思いますか?お願いします。 –

+0

@TilakMadichettiはユースケースによって異なります。あなたの現在のOSの改行が必要な場合は、最初の形式を使用します。あなたは何を書いてみたいですか? – wero

+0

私はファイルに単語の巨大なリストと1つの行間のb/w各単語を書きたい。 –

7

Windowsプラットフォーム上で、はSystem.getProperty( "line.separator")は "の\ r \ n" で、 "\ n" は(LinuxおよびMacOS Xの)、 "\ R"(MacOSの9およびそれ以前)

+0

あなたは古い '\ r'行に言及するために私のupvoteを取得しますセパレータ! – Aaron

+0

笑、あなたは@アロン - 悪いアロンを見た! –

7

System.getProperty("line.separator")は、プラットフォームに依存します:

  • "\ n" はUNIXスタイルのマシン
  • "\ rを\ n" は上のWindowsマシン

に "\ nが" のみであるのに対し、「\ n個"

2

«\ n»は、Linux/Unixなどのほとんどのオペレーティングシステムの行区切り文字です。オペレーティングシステムとの互換性を確保するには、System.getpropertyを使用してこの値を問い合わせてください。