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

jcifs copyTo from one network to other network path not working

我正在使用 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 具有 read/write 对 'everyone' 用户的访问权限。

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)

        }

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

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)

        }

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