2013-10-11 42 views
2

我有一個apk的路徑「/system/app/Gallery2.apk」,我想在SD卡上覆制它。我執行復制方法以編程方式將/system/app/*.apk複製到SD卡

public void copy(File src, File dst) throws IOException { 
    InputStream in = new FileInputStream(src); 
    OutputStream out = new FileOutputStream(dst); 

    // Transfer bytes from in to out 
    byte[] buf = new byte[1024]; 
    int len; 
    while ((len = in.read(buf)) > 0) { 
     out.write(buf, 0, len); 
    } 
    in.close(); 
    out.close(); 
} 

,但它顯示IOException異常

我傳遞值

try { 
        File file =new File(pm.getApplicationInfo(TAG_PACKAGE.get(position),PackageManager.GET_META_DATA).publicSourceDir); 

        Toast.makeText(MainActivity.this , pm.getApplicationInfo(TAG_PACKAGE.get(position),PackageManager.GET_META_DATA).publicSourceDir, Toast.LENGTH_LONG).show(); 

       try { 
        File dir = new File(Environment.getExternalStorageDirectory() + "/foldername/"); 
        if(!dir.exists()) 
         { 
          if(dir.mkdir()) ;//directory is created; 
          Toast.makeText(MainActivity.this ,dir.toString(), Toast.LENGTH_LONG).show(); 

         } 

        copy(file.getAbsoluteFile(), dir); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
       } catch (NameNotFoundException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 

例外:

exception java.io.FileNotFoundException: /storage/sdcard0/folder: open failed: EISDIR (Is a directory) 

它不工作,thnks

+0

難道IOException異常......被拒絕的權限? http://stackoverflow.com/questions/12978524/android-ioexception-permission-denied – ecle

+0

no no,java.io.FileNotFoundException:/ storage/sdcard0/foldername:打開失敗:EISDIR(是一個目錄) – stackoverflow

+0

我已經創建它了,但dnt的工作,每次都是相同的例外 – stackoverflow

回答

1

它看起來喜歡你試圖將文件複製到文件夾,但沒有指定目標文件名稱。

我猜你想要的文件名添加到目標路徑:

copy(file.getAbsoluteFile(), new File(dir, file.getName())); 
+0

我在10分鐘前嘗試了另一件事,那也在工作,感謝您的幫助 – stackoverflow

相關問題