Java 将文件从网络复制到本地目录

Java 将文件从网络复制到本地目录,java,Java,我想将文件从网络位置复制到本地目录。我已经为此编写了以下代码,但问题是,它需要先创建一个文件,然后输出流将字节流写入该文件 我想要的是,首先在本地创建文件的先决条件不应该存在。它应该简单地将网络文件直接复制到提到的目录中,就是这样!这是我第一次这么做 try { File srcFile = new File("//network//file//path//here"); File dstFileName = new File("//local//drive//file//pat

我想将文件从网络位置复制到本地目录。我已经为此编写了以下代码,但问题是,它需要先创建一个文件,然后输出流将字节流写入该文件

我想要的是,首先在本地创建文件的先决条件不应该存在。它应该简单地将网络文件直接复制到提到的目录中,就是这样!这是我第一次这么做

try {
    File srcFile = new File("//network//file//path//here");
    File dstFileName = new File("//local//drive//file//path//here");
    InputStream in = new FileInputStream(srcFile);
    OutputStream out = new FileOutputStream(dstFileName);

    byte[] buff = new byte[1024];
    int length;
    while ((length = in.read(buff)) > 0) {
        out.write(buff, 0, length);
    }
        in.close();
        out.close();

} catch (Exception ex) {
    ex.printStackTrace();
    }

您需要先创建文件,然后才能对其进行写入

if(!dstFileName.exists()){
   dstFileName.createNewFile();
}
如果路径不存在,可以尝试首先使用创建路径

dstFileName.getParentFile().mkdirs();

“我需要先在本地创建一个文件”-你为什么这么说?我的意思是,它会将数据写入文件,如果文件不存在,那么我会得到FileNotFound异常。所以我需要在本地目的地目录中有一个文件,只需谷歌创建文件java!我知道要创建一个文件,但是如果没有它,就不能创建一个文件吗?我能不能将副本复制到我的本地驱动器中…只需复制如果你需要创建一个文件,你可以只执行
dstFileName.createNewFile()在尝试写入之前?如果目标文件不存在,
FileOutputStream
将创建目标文件。如果无法创建此文件,它将抛出
FileNotFoundException
。所以我不认为
dstFileName.createNewFile()可以这样做。啊,你是对的。那么路径可能不存在或不可访问。可能。由OP检查stacktrace以了解有关问题的更多信息。