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

Java:如何使用凭据从网络复制到本地文件夹,java,fileinputstream,file-copying,jcifs,Java,Fileinputstream,File Copying,Jcifs,Java似乎无法使用windows凭据。 我需要将需要凭据的服务器上的文件复制到本地文件夹 我使用“JCIFS”插件使用SMB协议从服务器复制。 但在这种情况下,我也只能使用smb复制到本地计算机,因此一些文件夹应该在本地PC上共享。这种行为对于我的应用程序来说是不可接受的,因为它将在不同的PC上运行。 将网络路径映射为驱动器并通过“FileInputStream”复制文件也是不合适的决定 如何解决这个问题?也许可以将文件读入缓冲区,然后从缓冲区读入本地文件夹?文件足够小,可以容纳-30-50M

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

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


如何解决这个问题?也许可以将文件读入缓冲区,然后从缓冲区读入本地文件夹?文件足够小,可以容纳-30-50Mb

哦,我只需要使用流:

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();