gpt4 book ai didi

java - JCIFS:文件检索速度太慢,无法使用

转载 作者:搜寻专家 更新时间:2023-10-30 20:55:18 27 4
gpt4 key购买 nike

我只是在测试 JCIFS用于访问 Windows 共享。它非常慢,以至于完全无法使用。

import jcifs.smb.*;

class First {
public static void main(String[] args) throws Exception {
try {
//jcifs.Config.setProperty( "jcifs.netbios.wins", "192.168.1.220" );
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domain.com", "Administrator", "password");

SmbFile f = new SmbFile("smb://10.17.15.12/Share/xml/file.xml", auth);
SmbFileInputStream in = new SmbFileInputStream(f);
byte[] b = new byte[8192];
int n;
while(( n = in.read( b )) > 0 ) {
System.out.write( b, 0, n );
}
} catch (SmbException smbe) {
System.err.println(smbe.getNtStatus());
System.err.println(smbe.toString());
System.err.println(smbe.getCause());
}
}
}

初始输出需要很长时间,后续读取也很慢。任何想法如何使用它?也欢迎我编写 Java 代码以可移植的方式访问 Windows 共享的任何替代方法

最佳答案

我在某处发现 SmbFileInputStream 不做自己的缓冲,因此是缓慢的原因。在 BufferedInputStream 中包装 SmbFileInputStream 解决了这个问题。

 SmbFile sFile = new SmbFile(path, authentication);

BufferedInputStream buf = new BufferedInputStream(new SmbFileInputStream(sFile));

关于java - JCIFS:文件检索速度太慢,无法使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10533653/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com