Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Apache FileUtils将文件从共享源文件夹复制到本地目标文件夹失败_Java_Apache_Fileutils - Fatal编程技术网

Java 使用Apache FileUtils将文件从共享源文件夹复制到本地目标文件夹失败

Java 使用Apache FileUtils将文件从共享源文件夹复制到本地目标文件夹失败,java,apache,fileutils,Java,Apache,Fileutils,我正在尝试使用以下代码复制远程计算机共享文件夹中的文件 myMethod (String paramUrl) { //URL of the folder shared on Remote machine logger.info("paramUrl="+paramUrl); URL url = new URL(paramUrl); logger.info("Source file address="+url.getFile()); File inFile =

我正在尝试使用以下代码复制远程计算机共享文件夹中的文件

myMethod (String paramUrl) {    //URL of the folder shared on Remote machine
    logger.info("paramUrl="+paramUrl);
    URL url = new URL(paramUrl);
    logger.info("Source file address="+url.getFile());
    File inFile = new File(url.getFile());                      
    String destFileName = "D://LOCAL_FOLDER+"//"+xyz.xml;
    logger.info("destFileName="+destFileName);                      
    File destFile = new File(destFileName);                     
    FileUtils.copyFile(inFile, destFile);
}
:::输出是:

paramUrl=file:////10.0.0.3//SHARED_FOLDER//xyz.xml
Source file address=////10.0.0.3//SHARED_FOLDER//xyz.xml
destFileName=D:/LOCAL_FOLDER//xyz.xml
java.io.FileNotFoundException: Source '\\10.0.0.3\SHARED_FOLDER\xyz.xml' does not exist
    at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:637)
注意:

如果我尝试访问URL“\\10.0.0.3\SHARED\u文件夹”,使用RUN(在Windows中)可以正常工作。每个人都具有读/写权限的共享文件夹

另外,如果我共享本地文件夹并尝试使用URL///localhost//local_SHARED_folder/xyz.xml从同一台机器访问,我的代码也可以正常工作

但我不知道,为什么它不适用于远程机器ip地址,请大家帮助我为什么它不适用

编辑: 省略“file://”部分。如果将文件寻址为
paramUrl=//10.0.0.3/SHARED_FOLDER/xyz.xml
,则复制操作应该可以工作

旧的:

如果将
\\\10.0.0.3\SHARED\u文件夹
装入本地驱动器(例如X:),则可以传递参数

paramUrl=X:\xyz.xml
您可以复制该文件,因为它是本地文件


如果无法将Windows中的远程驱动器作为本地驱动器安装,请查看。有一个Java API如何处理smb/samba共享。

我还尝试将共享文件夹映射为本地驱动器。在这种情况下,我也得到了同样的例外。但同样的代码也适用于实际的本地文件夹。我编写的这段代码适用于本地文件夹和共享文件夹。还有一件事是,url.getFile()将把url更改为“\\10.0.0.3\Shared\u folder\xyz.xml”,并删除flie://part,正如您在异常中看到的那样。上面的代码能够将一个文件从本地文件夹移动到另一个本地文件夹,但我很惊讶为什么它不能处理映射驱动器中的文件夹。是的,在这种情况下,跳过
新URL(paramUrl)
部分,直接使用
新文件(paramUrl)
。e、 g.
新文件(“//10.0.0.3/SHARED_FOLDER/xyz.xml”)
不,即使对于本地系统,它也不起作用,我以前已经测试过。当时我正在使用新文件(“//Loca IP Address/LOCAL\u SHARED\u FOLDER/xyz.xml”)。还有一件事,为什么映射驱动器和本地驱动器的行为不同。在我的机器上工作。顺便问一下:你在linux机器上运行代码吗?