我想在其中保存一个带有编辑文本字符串的文件,然后加载它。
不知怎的,这不起作用。我认为存储的文件无法找到或存储(根据日志)。
如何解决这个问题?
以下是保存代码:
Log.i("Watcher","Saving...");
ProgressDialog dSave = ProgressDialog.show(this, "Saving", "SAving. Please wait...",false);
String fName = "WatchConf";
EditText servPath = (EditText)findViewById(R.id.ServerPath);
String sServPath = servPath.getText().toString();
try {
FileOutputStream fos = openFileOutput(fName, Context.MODE_PRIVATE);
fos.write(sServPath.getBytes());
fos.flush();
fos.close();
Log.d("Watcher","Saved");
File fCheck = new File(getFilesDir()+fName);
if(fCheck.exists()){
Log.i("Watcher","Saved successfully");
}
加载代码:
Log.i("Watcher","Loading...");
String fName = "WatchConf";
EditText servPath = (EditText)findViewById(R.id.ServerPath);
try {
InputStreamReader isr = new InputStreamReader(openFileInput(getFilesDir()+"/"+fName));
char[] cRead = new char[100];
isr.read(cRead);
String sRead = new String(cRead);
servPath.setText(sRead);
isr.close();
Log.i("Watcher","Loaded");
答案 0 :(得分:1)
你写过:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
答案 1 :(得分:0)
它之所以不起作用,是因为我希望很快将字符串加载到视图中。
在setContentView(R.layout.main);
解决问题后加载它。