2012-11-06 33 views
0

我試圖下載一個文件名爲爲Flower.jpg安卓:錯誤的不previus創建的目錄

String fileName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/flower.jpg"; 

File f = new File(fileName); 
if(!f.exists()) 
{ 
     f.createNewFile(); 
} 
DataOutputStream fos = new DataOutputStream(new FileOutputStream(f)); 
    fos.write(buffer); 
    fos.flush(); 
    fos.close(); 

的作品相當不錯的創建文件。

但我希望把我的文件在新目錄中(圖像),即不存在。 如果我嘗試用

String fileName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/images/flower.jpg"; 

我獲得:

11-06 18:19:01.570: W/System.err(17601): java.io.IOException: No such file or directory 
11-06 18:19:01.580: W/System.err(17601): at java.io.File.createNewFileImpl(Native Method) 
11-06 18:19:01.580: W/System.err(17601): at java.io.File.createNewFile(File.java:1115) 

回答

1

您需要檢查目錄「圖像」是否存在,如果不創建它。

if (isMediaMounted()) { 

       File cnxDir = new File(
         Environment.getExternalStorageDirectory() 
           + File.separator + "folderName"); 
       if (!cnxDir.exists()) { 

        cnxDir.mkdir(); 

       }} 

//

private boolean isMediaMounted() { 
    if (Environment.MEDIA_MOUNTED.equals(Environment 
      .getExternalStorageState())) { 
     return true; 
    } else { 
     return false; 
    } 
} 
0

您需要先創建一個目錄:

String dirName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/images"; 
File dir = new File(dirName); 
if(!d.exists()) 
{ 
    d.mkdirs(); 
} 

String fileName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/images/flower.jpg"; 

File f = new File(fileName); 
if(!f.exists()) 
{ 
    f.createNewFile(); 
}