windows共享的文件夹,使用Java程序连接时,发现忽快忽慢,最快10ms,最慢可以到6s?
先说答案,终极解决方案:
使用Linux挂载windows的共享文件夹目录,即可,当本地文件进行访问。不要使用第三方的sdk等。
一、在github找的Java的sdk:
使用的依赖如下:
<dependency>
<groupId>org.codelibs</groupId>
<artifactId>jcifs</artifactId>
<version>2.1.27</version>
</dependency>
在使用进行测试,由于文档缺少,猜测该sdk的问题:
1. 使用这个包,每次都进行密码账号的传输,是否每次都创建连接,断开连接?
2. 该sdk是否有线程池处理?
3. 该项目貌似很久才维护一次
感觉像是硬生生的怼windows的共享文件夹。
二、如何进行windows共享文件夹的挂载?(此处示例是centos 7)
2-1 安装cifs-utils 工具,让centos帮我们来管理
yum install cifs-utils
2-2 开始挂载
语法
mount -t cifs {windows共享的地址} {本地centos的地址} -o username={账号},password={密码}
示例
mount -t cifs //192.168.1.212/Production/CG /data1/cg -o username="xiaomin",password="123123"
如果是你是域账户
语法
mount -t cifs {windows共享的地址} {本地centos的地址} -o username={账号},password={密码},domain={域}
示例
mount -t cifs //192.168.1.212/Production/CG /data1/cg -o username="xiaomin",password="123123",domain="bbs"
注意,用户名,密码,域请加上双引号
2-3 开机就挂载
vi /etc/fstab
在最后一行追加,如果没有域,就吧domain删除
//192.168.1.212/Production/CG /data1/cg cifs defaults,auto,username="xiaoming",password="123123",domain="bbs" 0 0