我正在尝试将文件从本地计算机复制到 Windows 服务器中的共享文件夹。这是我使用的功能。
public static void copyFileUsingJcifs(final String domain, final String userName, final String password, final String sourcePath, final String destinationPath) throws IOException {
final NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(domain, userName, password);
final SmbFile sFile = new SmbFile(destinationPath, auth);
final SmbFileOutputStream smbFileOutputStream = new SmbFileOutputStream(sFile);
final FileInputStream fileInputStream = new FileInputStream(new File(
sourcePath));
final byte[] buf = new byte[16384];
int len;
while ((len = fileInputStream.read(buf)) > 0) {
smbFileOutputStream.write(buf, 0, len);
}
fileInputStream.close();
smbFileOutputStream.close();
}
我尝试了这个答案,但对我没有用。当我进行正常复制(复制和粘贴)时,一个 25MB 的文件最多只需要8分钟。但是当我使用我的 java 程序使用这个函数时,它需要超过20 分钟。我怎样才能使这个复制更快?提前致谢。