在模拟器上保存和加载文件

时间:2012-04-25 12:52:16

标签: android file

我想在其中保存一个带有编辑文本字符串的文件,然后加载它。

不知怎的,这不起作用。我认为存储的文件无法找到或存储(根据日志)。

如何解决这个问题?

以下是保存代码:

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");

2 个答案:

答案 0 :(得分:1)

你写过:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

答案 1 :(得分:0)

它之所以不起作用,是因为我希望很快将字符串加载到视图中。

setContentView(R.layout.main);解决问题后加载它。