Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android向文件内部存储添加多行_Java_Android_Io_Fileoutputstream - Fatal编程技术网

Java Android向文件内部存储添加多行

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

我有一个简单的游戏应用程序,有3个地方记分板,我需要保存数据。我不确定是否应该将其保存在外部存储或内部存储上。我已经设法在外部保存了一个csv文件,但测试时发现它不能在所有设备上运行。我现在正在研究将数据保存在内部存储器上,并研究以下标准文件保存代码

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()
没有这样的方法。