2012-02-16 10 views
5

アンドロイドのテキストファイルに新しい行を書き込もうとしています。ここでAndroidはテキストファイルに改行を書きません

は私のコードです:

FileOutputStream fOut; 
try { 
    String newline = "\r\n"; 
    fOut = openFileOutput("cache.txt", MODE_WORLD_READABLE); 
    OutputStreamWriter osw = new OutputStreamWriter(fOut); 

    osw.write(data); 
    osw.write(newline); 

    osw.flush(); 
    osw.close(); 
} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

私は\n\r\nを試してみました、私はまた、彼らのどちらも動作し、新しいラインのためのシステムプロパティを取得しようとしました。

データ変数には、以前は同じファイルのデータが含まれています。

String data = ""; 

try { 
    FileInputStream in = openFileInput("cache.txt"); 
    StringBuffer inLine = new StringBuffer(); 
    InputStreamReader isr = new InputStreamReader(in, "ISO8859-1"); 
    BufferedReader inRd = new BufferedReader(isr,8 * 1024); 
    String text; 

    while ((text = inRd.readLine()) != null) { 
     inLine.append(text); 
    } 

    in.close(); 
    data = inLine.toString(); 
} catch (FileNotFoundException e1) { 
    e1.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
+0

あなたはそれを確認しますか?「データ」を「foo」のような単純なものに置き換えて、 –

+0

テキストエディット、単語またはその他のプログラムで開いたときに新しい行が表示されない – NikolajSvendsen

+0

ダミーテキストで試してみました。 ork。 – NikolajSvendsen

答えて

0

私は同様のプログラムを実行し、私のために働いた。私は奇妙な行動を観察した。これらの新しい行はファイルに追加されましたが、カーソルは最初の行に残りました。確認したい場合は、改行文字の後にStringと書くと、Stringが新しい行のすぐ下に書かれていることがわかります。

0

同じ問題があり、改行を書き込めませんでした。代わりに、私はBufferdWritterを使ってファイルに新しい行を書き、それは私のために働く。ここで は、サンプルコードsnipletです:

OutputStreamWriter out = new OutputStreamWriter(openFileOutput("cache.txt",0)); 
BufferedWriter bwriter = new BufferedWriter(out); 
// write the contents to the file 
bwriter.write("Input String"); //Enter the string here 
bwriter.newLine(); 
2

私は同じ問題を抱えていた、ブック内のすべてのトリックを試してみました。

私の問題:改行のは書かれていたが、読んでいる間、彼らは削除されました:

while (readString != null) { 
       datax.append(readString); 
       readString = buffreader.readLine(); 
      } 

ファイルは、行と連結することによって行を読んでいたので、改行のは姿を消しました。

私はどこに私の携帯電話に見えるかわからなかったので、私は、元のファイルをメモ帳でか何かを見ていなかった、と私logscreenは改行の:-(

を削除コードので、簡単なsoultionを使用読んでいる間それを戻すことでした:

while (readString != null) { 
       datax.append(readString); 
       datax.append("\n"); 
       readString = buffreader.readLine(); 
      } 
関連する問題