ローカル マシンから 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 分以上かかります。このコピーを高速化するにはどうすればよいですか? 前もって感謝します。