jcifs copyTo从一个网络到其他网络路径不起作用

时间:2015-03-03 13:21:22

标签: java file copy-paste jcifs

我正在使用Java CIFS Client Library,但面临问题,问题是copyTo功能不起作用。 我有一个包含文件的文件夹。我想将这些文件读取到其他网络路径。

 String path1 = "//MACHINE-NAME/SHARE-FOLDER"
    NtlmPasswordAuthentication auth = new
     NtlmPasswordAuthentication(DOMAIN;USERNAME:PASSWORD) 
 SmbFile readFolder = new SmbFile("smb://MACHINE-NAME/SHARE-FOLDER/",auth)

这很好用。 然后我有另一个网络路径并定义如下,ShareFolder2具有对“所有人”用户的读/写访问权限。

String path2 = "//MACHINE-NAME/SHARE-FOLDER2"
        NtlmPasswordAuthentication auth = new
         NtlmPasswordAuthentication(DOMAIN;USERNAME:PASSWORD) 
SmbFile destinationFolder = new SmbFile("smb://MACHINE-NAME/SHARE-FOLDER2/",auth)






ArrayList<SmbFile>  readFiles = readFolder?.listFiles()
    for(file in readFiles ){
       file.copyTo(destinationFolder)

        }

1 个答案:

答案 0 :(得分:4)

如果要将文件从一个共享位置复制到另一个共享位置。你可以这样吗

ArrayList<SmbFile>  readFiles = readFolder?.listFiles()
    for(file in readFiles ){
String name = file.properties.getKey("name")
destinationFolder = new SmbFile(foldersInfo?.destinationFolder+"/"+name,auth)
                    destinationFolder.createNewFile()
                    file.copyTo(destinationFolder)

        }

要复制该文件的文件必须位于目标文件夹中。 首先,我们将在目标文件夹中创建一个具有相同名称的文件,然后复制到该文件夹​​