有以下类用于写入和读取文件(手机内部存储器)
import android.content.Context;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class LoadData {
public void loadData (){
}
// переменная в которой записано название файла что представляет собой локальную строку json
// или локальную базу
private String FILENAME = "jsonmytest";
//метод для сохранение строки json в файл (создание локальной базы)
protected void write(String answer) {
try {
// отрываем поток для записи
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(openFileOutput(FILENAME, Context.MODE_PRIVATE)));
// пишем данные
bw.write(answer);
// закрываем поток
bw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
// метод для чтения строки json из файла
public String readFile() {
String str = "";
try {
// открываем поток для чтения
BufferedReader br = new BufferedReader(new InputStreamReader(openFileInput(FILENAME)));
// читаем содержимое
str = br.readLine();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
}
openFileOutput 和 openFileInput 方法以红色突出显示,并且在悬停时写入无法解析方法“openFileInput(java.long.String)”自然会导入所有库。
在 MainActivity 类中,read 和 write 方法的代码完全相同,但这需要在另一个类中加载。请帮忙,我不知道出了什么问题。
将上下文传递给构造函数并使用它,如下面的代码所示。
我还建议您熟悉Android Context