我正在尝试使用以下
在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将始终返回该行的字符串。所以我必须将Strings转换为Integer进行某些行。这是一种有效的方式吗(或正确的方式)?我觉得我错过了什么 谢谢
答案 0 :(得分:4)
除非您有多行字符串或字符串可能被误认为是整数或具有非常复杂结构的文件,否则只需按照上面的建议编写文本文件。低效率不值得失去便携性和可读性的好处。
更复杂文件的其他好选项是JSON或XML或Java属性文件(您可以使用的是好的库)。
如果你有一个很好的理由(只需调用Integer.parseInt并保存3个字节不是一个好理由),只能转换为二进制格式。