Java Android向文件内部存储添加多行
我有一个简单的游戏应用程序,有3个地方记分板,我需要保存数据。我不确定是否应该将其保存在外部存储或内部存储上。我已经设法在外部保存了一个csv文件,但测试时发现它不能在所有设备上运行。我现在正在研究将数据保存在内部存储器上,并研究以下标准文件保存代码Java Android向文件内部存储添加多行,java,android,io,fileoutputstream,Java,Android,Io,Fileoutputstream,我有一个简单的游戏应用程序,有3个地方记分板,我需要保存数据。我不确定是否应该将其保存在外部存储或内部存储上。我已经设法在外部保存了一个csv文件,但测试时发现它不能在所有设备上运行。我现在正在研究将数据保存在内部存储器上,并研究以下标准文件保存代码 String FILE_NAME = "file.txt"; try { FileOutputStream fos = openFileOutput(FILE_NAME, Context.MODE_PRIVATE); fos
String FILE_NAME = "file.txt";
try {
FileOutputStream fos = openFileOutput(FILE_NAME, Context.MODE_PRIVATE);
fos.write(someText.toString().getBytes());
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
该类不提供任何nextLine()方法
我的问题是我应该使用外部存储器还是内部存储器,如果我使用内部存储器,我如何将每一行分开?写:
String FILE_NAME = "file.txt";
try {
FileOutputStream fos = openFileOutput(FILE_NAME, Context.MODE_PRIVATE);
PrintWriter writer = new PrintWriter( new OutputStreamWriter( fos ) );
writer.println(someText.toString());
writer.println(someOtherText.toString());
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
阅读:
String FILE_NAME = "file.txt";
try {
FileInputStream fis = openFileInput(FILE_NAME, Context.MODE_PRIVATE);
BufferedReader reader = new BufferedReader( new InputStreamReader( fis ) );
String line;
while ( (line = reader.readLine()) != null ) {
System.out.println("Read line: " + line);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
你至少混淆了三件事。内部存储与外部存储对您写入数据的方式没有影响
FileOutputStream
用于写入数据,而不是读取数据,因此它无法提供nextLine()
方法。建议:使用SharedProperties
-如果不想这样做,请熟悉字符串(行)的FileOutputStream
、FileInputStream
、Writer
、Reader
、BufferedWriter
和BufferedReader
基于文件IO。FileInputStream
与您的问题完全无关。这就是我正在寻找的用于解析数据的简单包装器,谢谢。writeln()
没有这样的方法。