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以了解有关问题的更多信息。