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操作を実行する前に、ストレージの状態を確認してください。

内部ストレージへの質問については、次の2つの方法があります。1。アプリケーションストレージ(アプリキャッシュ)内-参照:Environment.getDataDirectory()2.共通データディレクトリ内-参照:Context.getCacheDir()。

お役に立てれば。

于 2013-02-18T14:47:19.130 に答える