2016-04-07 11 views
3

out.printを使用して文字列を印刷したいが、文字列の\nが機能しない。ここで" n"文字列をPrintWriterを使用してテキストに保存するときに改行しない

はコードです:

import java.io.PrintWriter; 

public class LetterRevisited{ 
    public static void main(String[] args)throws Exception 
    { 
     PrintWriter out = new PrintWriter("Test.txt"); 
     out.println("This is the first line\n" + 
     "This is the second line"); 
    out.close(); 
    } 
} 

しかし、新しい行が作成されません保存したファイルに、すべての行は、互いの後です。 これを修正する方法はありますか? (すべての行にout.printlnを追加してください)

編集:Windowsコマンドプロンプトでコードをコンパイルして実行し、メモ帳でファイルを開きます。

+1

どのプラットフォーム上では、このコードを実行していますか? –

+2

そして改行があるかどうかをどう思いますか? (ヒント:Windowsでは、メモ帳のようなツールには '\ r \ n'が必要です。) –

+1

おそらくprintlnを使うべきではありません。また、 '\ r \ n'を試してみてください。 – Reinard

答えて

10

異なるプラットフォームでは、異なる行区切り記号が使用されます。

  • Windowsが\r\n
  • UnixライクなプラットフォームはMacが今あまりにも\n使用\n
  • 使用使用していますが、それは、\rを使用するために使用されます。

(あなたはより多くの情報を参照してhereをバリアントすることができます)

あなたは

System.getProperty("line.separator") 

などを使って、あなたの "ローカル" 行区切り文字を取得することができます

out.println("Hello" + System.getProperty("line.separator") + "World"); 

しかし、文字列フォーマッタで%nを使用する方が簡単です:あなたは、特定のプラットフォームをターゲットにしている場合は、あなただけのリテラルを使用することができます

out.printf("Hello%nWorld%n"); 

+0

Andy Turnerありがとう\ n私はワードパッドを使ってファイルを開いたので、それは問題ありませんでした。 問題はメモ帳でしかありませんでした。 – farshad

1

Java 7を使用している場合は、System.lineSeparator()を使用できます。これが役立つかどうかを確認してください。古いバージョンのJavaの場合は、System.getProperty( "line.separator")

例: System.out.println(System.lineSeparator()+ "これは2行目です"); Javaのブログから

よろしく、 - http://www.javaho.wordpress.com

関連する問題