2012-01-22 4 views
1

私のアプリケーションはテキストファイルを作成します。私はそのユーザーがこれらのファイルに簡単にアクセスできるようにしたい。私はこのテキストファイルをsdcardに書きます。ユーザーが他のプログラムでファイルを編集できるようにしたい
ファイルエクスプローラを使用してこれらのファイルが表示されますが、ファイルマネージャを使用することはできません。他のアプリケーションで読み込み可能なファイルを書く方法は?

String extPath = Environment.getExternalStorageDirectory().getAbsolutePath(); 
     try{ 
    String pathPrefix = extPath + "/Android/data/" +  getApplication().getPackageName() + "/cache/"; 
    //File extPathFile = getExternalFilesDir(pathPrefix+FileName); 
    Log.d("TAG", "pathPrefix="+pathPrefix); 
    Log.d("TAG", "FileName="+FileName); 
    File file = new File(pathPrefix, FileName+".txt"); 
    if(file.exists()){ 
    Log.d("TAG", "File("+pathPrefix+FileName+")exist"); 
    }; 
    OutputStreamWriter outStream = 
      new OutputStreamWriter(new FileOutputStream(file)); 

Logcat:

01-22 14:26:15.834: D/TAG(14290): pathPrefix=/mnt/sdcard/Android/data/mast.avalons/cache/ 
01-22 14:26:15.834: D/TAG(14290): FileName=S000004_21-10-2011 
01-22 14:26:16.044: D/TAG(14290): java.io.FileNotFoundException: /mnt/sdcard/Android/data/mast.avalons/cache/S000004_21-10-2011.txt (No such file or directory) 

ありがとう!

答えて

2

私はあなたが中間ディレクトリを作成すべきだと思う:

new File(pathPrefix).mkdirs(); 
+0

+1のおかげで問題なく動作します! – MastAvalons

関連する問題