我做了这种方法,可以将文件从输入路径复制到输出路径。当输入位于sdcard中,而输出位于本地存储中时,它可以工作,但是当我将输出更改为sdcard中的文件时,它不起作用,也不会显示任何错误。我该如何解决??
我用file.canwrite()检查了输出,并返回了false。为什么?
public void copyFile(String inputPath, String outputPath) {
FileInputStream fis = null;
FileOutputStream fos = null;
FileChannel in = null;
FileChannel out = null;
try{
fis = new FileInputStream(inputPath);
fos = new FileOutputStream(outputPath);
in = fis.getChannel();
out = fos.getChannel();
in.transferTo(0, in.size(), out);
} catch(Exception e){
e.printStackTrace();
}
finally {
try{
if(out != null) out.close();
if(in != null) in.close();
if(fis != null) fis.close();
if(fos != null) fos.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
尝试在重新排“ in.transferTo(0,in.size(),out);” 后添加 fos.flush() 。