2011-12-22 17 views
2

私は非常に小さな問題があります。私はsdcardにファイルを書いています。私はあなたに2つのコード、1つのコードの作品と他のものを示していません。 まず1、sdcardに書き込む

new FileOutputStream("/sdcard/HelloWorld.txt") 

これは正常に動作し、SDカード内HelloWorld.txtファイルを作成します。それはこのようになります。

今、もう一つは、

new FileOutputStream(android.os.Environment.getExternalStorageDirectory()+java.io.File.separator + "filetest" + java.io.File.separator + "HelloWorld.txt") 

これはエラー "/mnt/sdcard/filetest/HelloWorld.txt (No such file or directory)" をスローします。 私のデバイス上にmnt/sdcardのパスがあるので、なぜそれが見つからないのか知りたいのですが、そうでなければfiletestフォルダを見つけることができません。

ありがとうございました。その利用できない場合

答えて

4

まずはい次に、あなたのコードを実行...

OR

File f = new File(android.os.Environment.getExternalStorageDirectory()+java.io.File.separator + "filetest" + java.io.File.separator + "HelloWorld.txt"); 

    if (!f.getParentFile().exists()); 
    { 
     f.getParentFile().mkdir(); 
    } 
+0

感謝。うん、それはこのようになっているはずです。 –

2

File file = new File(android.os.Environment.getExternalStorageDirectory()+java.io.File.separator + "filetest"); 

file.mkdir(); 

filetestのディレクトリを作成します....... 。 filetestフォルダはありませんので、手動またはプログラムで作成し、そのコードを試してみる必要があります。あなたもこのようなディレクトリを作成することができます

::

File wallpaperDirectory = new File("/sdcard/filetest/"); 
// have the object build the directory structure, if needed. 
wallpaperDirectory.mkdirs(); 
// create a File object for the output file 
File outputFile = new File(wallpaperDirectory, filename); 
// now attach the OutputStream to the file object, instead of a String representation 
FileOutputStream fos = new FileOutputStream(outputFile); 

使用許可:::

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />