0

我正在制作一个程序,它将 EditText 中输入的单词保存到 sd 卡中的文本文件中。但是,在我的平板电脑中安装 sd 卡有问题,所以我想将文本文件保存到内部存储中。谁能帮我把它切换到内部存储?任何评论将不胜感激。谢谢。

这是我的代码:

public void writeToSDFile() {


    File root = android.os.Environment.getExternalStorageDirectory(); 
    tv.append("\nExternal file system root: "+root);    

    File dir = new File (root.getAbsolutePath());
    dir.mkdirs();
    File file = new File(dir, "wordlist.txt");

    try {   


        FileOutputStream f = new FileOutputStream(file);           

        PrintWriter pw = new PrintWriter(f);
        pw.println(stringword);
        pw.append(stringword);        

        pw.flush();
        pw.close();
        f.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
        Log.i(TAG, "******* File not found.");
    } catch (IOException e) {
        e.printStackTrace();
    }   
    tv.append("\n\nFile written to "+file);    


}//end writeToSDFile
4

2 回答 2

2

这应该可以帮助你:http: //developer.android.com/guide/topics/data/data-storage.html

于 2013-02-18T14:43:08.243 回答
0

由于外部存储是可移动的,因此您不应假定它一直存在。因此,在进行任何 io 操作之前,请检查存储状态。

关于您对内部存储的问题,有两种方法:1.在应用程序存储(应用程序缓存)中 - 参考:Environment.getDataDirectory() 2.在公共数据目录中 - 参考:Context.getCacheDir()。

希望这可以帮助。

于 2013-02-18T14:47:19.130 回答