0

我知道这里有一些关于此的问题,但我仍然找不到答案。我需要在外部存储中写一些文本,但是这段代码会使应用程序崩溃。请注意,String dane 就是这个文本。

 void zapis2 (String dane){
        Context myContext = getApplicationContext();
        File file = new File(myContext.getExternalFilesDir(null), "state.txt");
        try {

             FileOutputStream os = new FileOutputStream(file, true); 
             OutputStreamWriter out = new OutputStreamWriter(os);
                 out.write(dane);
             out.close();}catch (IOException e) {
                }
    }

你有什么想法吗。我当然在 android manifest 中添加了权限。

4

2 回答 2

0

Contect.getExternalFilesDir(..)仅从API8可用,如果您在早期版本上运行/部署,它将崩溃。

于 2012-08-28T12:48:13.077 回答
0

尝试这个:

File root = android.os.Environment.getExternalStorageDirectory();
File dir = new File (root.getAbsolutePath() + "/foldername");
dir.mkdirs();
File file = new File(dir, "filename.txt");

try {
    FileOutputStream f = new FileOutputStream(file);
    PrintWriter pw = new PrintWriter(f);
    pw.println(dane); //your string which you want to store
    pw.flush();
    pw.close();
    f.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}   

希望这可以帮助!

于 2012-08-28T12:43:09.837 回答