2016-11-23 5 views
-3
で働いていない置き換える

私は、私はで、この新しい行を置き換えたいSample.txtをシンプルなラインは、Java

This is line1 
This is line2 

、ここをという名前のテキストファイルに以下の内容を意味しました出力は以下のようになります

This is line1 and This is line2 

と私のコードは以下のようになります。

BufferedReader br = null;私はこれを印刷していた場合

try { 

    String sCurrentLine; 

    br = new BufferedReader(new FileReader("C:\\Users\\home\\Desktop\\Test\\Sample.txt")); 
    int i = 0; 
    while ((sCurrentLine = br.readLine()) != null) { 

     String sCurrentLine1 = sCurrentLine.replaceAll("\\n+", "0NL0"); 
     System.out.println("Line No." + i + " " + sCurrentLine1); 
     i++; 
    } 

、私は私がどのように私は、この新しい行を置き換えることができます教えてください

Line No.0 This is line1 
Line No.1 This is line2 

として出力を取得します。

おかげ

+1

)' _single_行を読み込み、終了改行文字が含まれていません。 –

+0

はあなたの問題で、代わりに働かない(したがって、あなたの結果に '0NL0'が見えません)、あるいは単純に出力をすべて1行にしたいのですか?後者の場合、 'println'の代わりに' print'を使用してください。 –

答えて

1

あなたはreplaceAllBufferedReader::readLine()方法がsCurrentLineで返される文字列から\nの文字を削除する必要はありません。だから、返された行を追加するだけです。

例:定義 `のreadLine(BY

try { 

String sCurrentLine; 
StringBuilder sb = new StringBuilder();// Declare a string builder object. 
br = new BufferedReader(new FileReader("C:\\Users\\home\\Desktop\\Test\\Sample.txt")); 
int i = 0; 
while ((sCurrentLine = br.readLine()) != null) { 
    if(i>0) { 
     sb.append(" and "); 
    } 
    sb.append(sCurrentLine); 
    System.out.println("Line No." + i + " " + sCurrentLine); 
    i++; 
} 
System.out.println("Appended output " + sb.toString()); 
-1

はこれを試してみてください、

String str = ""; 
while ((sCurrentLine = br.readLine()) != null) { 

    String sCurrentLine1 = sCurrentLine.replaceAll("\\n+", "0NL0"); 
    str = str + sCurrentLine1 + " and "; 
} 
System.out.println(str.substring(0,(str.length()-5))); 

は、それはあなたのお役に立てば幸いです。

+0

こんにちは友人ですが、これはうまくいきますが、最初の結果として実際の結果が表示されます。 'nullThisはライン1で、これはライン2です' – user3872094

+0

thnx、私はそれを編集しました – PSabuwala

関連する問題