2013-02-18 206 views
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 

回答

0

由於外部存儲是可移動的,你不應該假定它存在的所有時間。因此,在執行任何io操作之前,請檢查存儲狀態。

關於你的問題的內部存儲,有兩種方式: 1.在應用存儲(應用程序緩存) - 是指:Environment.getDataDirectory() 2.常見的數據目錄 - 是指:Context.getCacheDir()。

希望這會有所幫助。

+0

謝謝,所以我只是將getExternalStorageDirectory()更改爲getDataDirectory()? – chArm 2013-02-18 15:01:15

+0

我相信,如果你想在內部存儲器中存儲內容。只需添加,對於沒有SDCARD支持的手機,Phone Storage也可以安裝爲SDCARD,但由於它不可拆卸,因此您無需擔心安裝狀態。 – 2013-02-18 15:34:22