Android-无法使用Filechannel在SD卡中复制文件?

时间:2019-01-27 17:13:31

标签: android android-sdcard android-external-storage filechannel

我做了这种方法,可以将文件从输入路径复制到输出路径。当输入位于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();
        }
    }
    

    }

1 个答案:

答案 0 :(得分:0)

尝试在重新排“ in.transferTo(0,in.size(),out);” 后添加 fos.flush()