我想用一個字符串保存一個文件,然後加載它。在仿真器上保存並加載文件
不知何故,這不工作。我認爲存儲的文件無法找到或沒有存儲(根據日誌)。
如何解決這個問題?
這裏是節省代碼:
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");
嘗試在日誌語句中打印出sServPath,以確保您正在拖動需要的文本 - 您可能有無效的視圖或其他內容。 – 2012-04-25 12:57:26
視圖是好的,打印出正確的文本 – ctekk 2012-04-25 13:02:55
好吧我忘了fCheck文件的路徑和fName之間的「/」。仍然它的文件不加載我上面添加的代碼(NPE) – ctekk 2012-04-26 08:23:41