0

次のコマンドを使用して、Java(Android)でファイルを保存(および後で読み取る)しようとしています。

FileInputStream fis = openFileInput(filename);

そして多分BufferedReader/writerを使用します。とにかく、私は文字列と数字を保存しようとしていますが、そのような場合にI / Oから読み書きするための最良の方法は何でしょうか?私は読書のために次のことをしようとしていました

FileInputStream fis = openFileInput(filename);
InputStreamReader inputStreamReader = new InputStreamReader(fis);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

と書くために

FileOutputStream fos = openFileOutput(filename, 20);
OutputStreamWriter outStreamReader = new OutputStreamWriter(fos);
BufferedWriter bufferedWriter = new BufferedWriter(outStreamReader);

しかし、readLineは常に行の文字列を返すことに気づきました。そのため、いくつかの行で文字列から整数への変換を実行する必要があります。これは効率的な方法(または正しい方法)ですか?何かが足りないと感じますありがとうございます

4

1 に答える 1

4

複数行の文字列や整数と間違われる可能性のある文字列、または非常に複雑な構造のファイルがない限り、上記の提案に従ってテキスト ファイルを記述してください。非効率性は、移植性と読みやすさの利点を失う価値はありません。

より複雑なファイルに適したその他のオプションは、JSON または XML または Java プロパティ ファイルです (使用できる適切なライブラリが存在します)。

本当に正当な理由がある場合にのみ、バイナリ形式に移行してください (そして、Integer.parseInt を呼び出して 3 バイトを保存する必要があるのは正当な理由ではありません)。

于 2012-06-27T06:06:53.870 に答える