复制和粘贴文件到另一个文件夹ENOENT
问题描述:
我已经为这个复制Android的代码,从源到目的地的文件:复制和粘贴文件到另一个文件夹ENOENT
private void move(File src, File dest) {
try {
InputStream is = new FileInputStream(src);
OutputStream os = new FileOutputStream(new File(
dest.getAbsolutePath() + "/" + src.getName()));
byte[] buffer = new byte[1024];
int len;
while ((len = is.read(buffer)) > 0) {
os.write(buffer, 0, len);
}
is.close();
os.close();
// delete old file
src.delete();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但我得到ENOENT(没有suche文件或目录)warnint当我致电
InputStream is = new FileInputStream(src);
并且没有文件被复制。
这是一个日志,SRC和DST值
src: /storage/emulated/0/DCIM/Camera/IMG_20141026_183702.jpg
dst:/storage/emulated/0/Pictures/destfolder
,这是警告消息:
java.io.FileNotFoundException: /storage/emulated/0/DCIM/Camera/IMG_20141026_183702.jpg:
open failed: ENOENT (No such file or directory)
路径是相同的SRC值的! 有什么问题?
答
你确定错误来自FileInputStream吗?
FileOutputStream不创建目录。在打开流之前使用dest.mkdirs(),这可能会解决您的错误。
+0
错误在FileInputStream上,并且目录存在。如果我执行我的代码,我会获得一个空文件夹。 – giozh 2014-11-01 08:39:37
嗯。文件未找到?或者可能会被读取外部存储权限。 – 2014-10-31 21:09:42
不,我已粘贴警告。读取和写入存储权限已设置。 – giozh 2014-10-31 21:10:52
“Pro-tip”:对于dest文件构建使用:new File(dest,src.getName()); – 2014-10-31 21:16:55