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();
}
4

3 に答える 3

0

私は同じ問題を抱えていて、改行を書くことができませんでした。代わりに、BufferdWritter を使用して新しい行をファイルに書き込みます。サンプル コード スニペットを次に示します。

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();
于 2013-01-29T00:58:25.390 に答える
0

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

于 2012-02-16T14:22:39.333 に答える