java android копирует файлы активов - PullRequest
1 голос
/ 28 ноября 2011

У меня есть Async Task, которая должна записать папку «Файлы» из ресурсов в папку на SD-карте.Но ничего не работает.

final String sdDir = "/sdcard/izuchaika/";

new Thread(new Runnable() {
        public void run() {
            try {

                InputStream in = getAssets().open("Files");
                OutputStream out = new FileOutputStream(new File(sdDir));
                try {
                    byte[] bucket = new byte[32 * 1024];
                    int bytesRead = 0;
                    while (bytesRead != -1) {
                        bytesRead = in.read(bucket);
                        out.write(bucket, 0, bytesRead);
                    }
                } catch (IOException ex) {
                    ex.printStackTrace();
                } finally {
                    try {
                        if (in != null)
                            in.close();
                        if (out != null)
                            out.close();
                    } catch (IOException ex) {
                        ex.printStackTrace();
                    }

                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }


        }
    }).start();

Экран дерева папок

1 Ответ

1 голос
/ 28 ноября 2011

Вы пишете и читаете каталоги как файлы.

Заменить

InputStream in = getAssets().open("Files");
OutputStream out = new FileOutputStream(new File(sdDir));

с

InputStream in = getAssets().open("Files/exit.png");
OutputStream out = new FileOutputStream(new File(sdDir+"/exit.png"));
...