当前位置: 首页 > 知识库问答 >
问题:

Java:如何使用凭据从网络复制到本地文件夹

龚远
2023-03-14

Java似乎无法使用windows凭据。我需要将需要凭据的服务器上的文件复制到本地文件夹。

我使用“JCIFS”插件使用SMB协议从服务器复制。但在这种情况下,我也只能使用smb复制到本地计算机,因此一些文件夹应该在本地PC上共享。这种行为对于我的应用程序来说是不可接受的,因为它将在不同的PC上运行。将网络路径映射为驱动器并通过“FileInputStream”复制文件也是不合适的决定。

如何解决这个问题?也许文件可以读取到缓冲区,然后从那里到本地文件夹?文件足够小-30-50Mb。

共有1个答案

翟俊
2023-03-14

哦,我只需要使用流:

NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(credentials);
SmbFile remoteFile = new SmbFile (sourceFile, auth);
InputStream inputStreamFromLan = remoteFile.getInputStream();
OutputStream outputStreamToLocal = new FileOutputStream(outputFile);

              int bufferSize = 5096;

              byte[] b = new byte[bufferSize];
              int noOfBytes = 0;
                     while( (noOfBytes = inputStreamFromLan.read(b)) != -1 )
              {
                  outputStreamToLocal.write(b, 0, noOfBytes);
              }
              outputStreamToLocal.close();
              inputStreamFromLan.close();
 类似资料:
  • 在此代码中,我试图复制网络上包含关键字的所有文件。目前我能够列出/打印所有包含关键字的文件,但希望将它们复制到新位置。到目前为止,我一直在收到错误代码“IOError:[Errno 22]无效模式('rb')或文件名:“//server/User$/”列出的其他错误代码是: 文件“C:\Python27\lib\shutil.py”,第119行,副本 copyfile(src、dst) copyf

  • 如何使用将文件夹从远程复制到本地主机? 我使用登录我的服务器。 然后,我要将远程文件夹复制到本地。 我如何实现这一点?

  • 如何将文件从HDFS复制到本地文件系统。文件下没有文件的物理位置,甚至没有目录。我如何将它们移到本地进行进一步的验证。我通过winscp进行了尝试。

  • 我的s3存储桶中有很多文件,所以是否有任何aws cli命令可用于在s3中查找带有前缀名的最新文件?如何将该文件从s3复制到本地文件夹?我可以使用Boto3或python库来实现这一点吗?

  • 我尝试在我的“本地代理竹”上导入一个“远程服务器”中的现有文件夹。 我等待你的帮助。提前谢谢你。