3

次のコードを使用して、デバイスで実行されているアプリケーションの内部ストレージにファイルを保存しました。

private void writeToFile(String s){
 try { // catches IOException below
        FileOutputStream fOut = openFileOutput("samplefile.txt",
                                                MODE_WORLD_READABLE);
        OutputStreamWriter osw = new OutputStreamWriter(fOut); 
        osw.write(s);
        osw.flush();
        osw.close();
        FileInputStream fIn = openFileInput("samplefile.txt");
        InputStreamReader isr = new InputStreamReader(fIn);
        char[] inputBuffer = new char[s.length()];
        isr.read(inputBuffer);
        String readString = new String(inputBuffer);
        Log.i("String", readString);

    } catch (IOException ioe) {
        ioe.printStackTrace();
    }
}  

logcatは、ファイルが正しく書き込まれていることを示しています。ただし、EclipseでFileExplorerを使用してデバイス上のファイルにアクセスしようとすると、ファイルが本来あるべき場所( "/data/data/your_project_package_structure/files/samplefile.txt")に表示されません。内部データフォルダが空であることがわかりました。何が悪かったのか?

そのファイルを読み取り、Pythonで記述された別のアプリケーションにフィードするためのデータを取得したいと思います。出来ますか?

PS:エミュレータではなく、デバイスでアプリケーションをテストしています。

4

1 に答える 1

2

さらに調査したところ、内部ストレージに保存されているファイルは、エミュレーターを使用している間のみファイルエクスプローラーで表示できることがわかりました。したがって、外部ストレージに頼らなければならないようです。

于 2011-04-19T11:59:46.697 に答える