我无法弄清楚为什么每次打开我的应用程序都会崩溃。只有当我取消注释 for 循环时。
我在这里使用这个想法将文件从一个目录复制到另一个
但是这部分(我尝试了这种方式以及与上面链接中相同的方式,使用子字符串等)
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();
}