将文件从一个文件夹复制到另一个

时间:2019-05-31 21:43:50

标签: java android

我正在尝试在Android路径出现时复制文件,但没有成功,尽管该文件已经作为AndroidManifest的权限存在,但好像文件不存在或在那里知道。 这是一段代码:

public void onActivityResult(int requestCode, int resultCode, Intent data)
{
    switch (requestCode) {
        case FILE_SELECT_CODE:
            if (resultCode == RESULT_OK) {

                Uri uri = data.getData();
                String origem = uri.getPath();
                File src = new File(origem);
                if(src.isFile()){
                    Log.d(TAG,src.toString());
                }

                File root = Environment.getExternalStorageDirectory();
                root = new File(root.toString(), "Kcollector/importa/import.csv");

                try {
                    copy(src,root,true);
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
            break;
    }
    super.onActivityResult(requestCode, resultCode, data);
}

public static void copy(File origem, File destino, boolean overwrite) throws IOException{
    Date date = new Date();
    if (destino.exists() && !overwrite){
        System.err.println(destino.getName()+" já existe, ignorando...");
        return;
    }
    FileInputStream fisOrigem = new FileInputStream(origem);
    FileOutputStream fisDestino = new FileOutputStream(destino);
    FileChannel fcOrigem = fisOrigem.getChannel();
    FileChannel fcDestino = fisDestino.getChannel();
    fcOrigem.transferTo(0, fcOrigem.size(), fcDestino);
    fisOrigem.close();
    fisDestino.close();
    Long time = new Date().getTime() - date.getTime();
    System.out.println("Saiu copy"+time);
}

尝试复制时返回我的错误:

W / System.err:java.io.FileNotFoundException:/external_storage/Kcollector/importa/kvendasajustado.csv(无此类文件或目录) W / System.err:位于java.io.FileInputStream.open0(本机方法)

1 个答案:

答案 0 :(得分:0)

检查运行时权限或使用第一个response

中指定的方法
  $("table tbody tr").on('click',function(){
    var checked = $("input:checkbox").is(':checked');
    if(checked){
     $("input:checkbox",this).prop('checked', false);
     console.log(checked);      
    }else{
     console.log(checked);
     $("input:checkbox",this).prop('checked', true);
    }

最后检查网址是否格式正确。 否则,您可以使用断点调试(搜索这些单词),并准确找到问题的根源