2013-10-11 3 views
2

У меня есть путь к одному apk "/system/app/Gallery2.apk", и я хочу скопировать его на SD-карте. я реализовать метод копированияСкопируйте /system/app/*.apk в sdcard программно

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: open failed: EISDIR (есть каталог) – stackoverflow

+0

Я создал его уже , но dnt работает, такое же исключение каждый раз – stackoverflow

ответ

1

Это выглядит как ты '' пытается скопировать файл в папку, но не указывая имя файла назначения.

Я предполагаю, что вы хотите добавить имя файла в пути назначения:

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

и я пробую еще одну вещь 10 мин назад, что тоже работает, кстати спасибо за вашу помощь – stackoverflow

Смежные вопросы