Android 在Emulator上保存和加载文件

Android 在Emulator上保存和加载文件,android,file,Android,File,我想用edittext中的字符串保存一个文件,然后加载它 不知怎么的,这不管用。我认为存储的文件找不到或没有存储(根据日志) 如何解决这个问题 以下是保存代码: Log.i("Watcher","Saving..."); ProgressDialog dSave = ProgressDialog.show(this, "Saving", "SAving. Please wait...",false); String fName = "WatchConf"; EditTe

我想用edittext中的字符串保存一个文件,然后加载它

不知怎么的,这不管用。我认为存储的文件找不到或没有存储(根据日志)

如何解决这个问题

以下是保存代码:

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");
你有没有写过:

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

它不起作用的原因是,我想太快地将字符串加载到视图中


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

尝试在日志语句中打印sServPath,以确保您正在提取所需的文本-您可能有无效的视图或其他内容。视图正常,请打印正确的文本确定我忘记了fCheck文件的路径和fName之间的“/”。但是文件没有加载我上面添加的代码(NPE),我没有编写外部存储,是吗?上下文模式是私有的,但我现在将尝试它