У меня возникли проблемы с выяснением, почему мое приложение рушится каждый раз, когда я его открываю. Только когда я раскомментирую цикл for.Для приложения, вызывающего андроид для крушения
Я использую эту идею здесь, чтобы скопировать файлы из одного каталога в другой
How to programmatically move, copy and delete files and directories on SD?
однако эта часть (я старался как этот путь, и точно так же, как и в приведенной выше ссылке, используя детей строку , и т. д.)
for (File file : files)
{
CopyFile(file, target);
}
продолжает вызывать мое заявление. Я пробовал комментировать только эту часть, и приложение работает нормально (оно ничего не копирует, так как не имеет доступа к файлу)
Любые идеи?
private void CopyFile(File source, File target) throws IOException {
if (source.isDirectory()){
File[] files = source.listFiles();
for (File file : files)
{
CopyFile(file, target);
}
} else {
InputStream in = new FileInputStream(source);
OutputStream out = new FileOutputStream(Environment.getExternalStorageDirectory());
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0){
out.write(buf, 0, len);
}
in.close();
out.close();
}
У вас есть разрешения на чтение и запись с внешнего хранилища? –
Может быть по ряду причин. Не могли бы вы разместить stacktrace? – Heinrisch
Пожалуйста, разместите stacktrace и 'Class', где находится цикл' for'. – Emmanuel