Java读取共享文件夹下面的文件(利用smb协议)
一、先给需要共享文件电脑创建smb协议
1.1 控制面板->程序->启用或关闭window功能->smb1.0
二、设置共享文件
2.1 选择你想要共享的文件夹设置everyone或者指定的用户
2.2 在高级共享里面设置成共享此文件夹
2.3 打开网络共享中心,进行无密码共享(有密码也可以,无密码是为了更方便)
2.4 测试 \\ip\文件夹
三、准备好对应的jar
链接:https://pan.baidu.com/s/12uK4yvXSGBqNoFB_PoYHRg
提取码:jcif
3.1 下载好了以后放到本地maven仓库
比如我放到d盘,直接打开cmd运行
mvn install:install-file -Dfile=D:\jcifs-1.3.17.jar -DgroupId=org.jcifs -DartifactId=jcifs -Dversion=1.3.17 -Dpackaging=jar
成功了以后直接引用
<dependency>
<groupId>org.jcifs</groupId>
<artifactId>jcifs</artifactId>
<version>1.3.17</version>
</dependency>
3.2 进行代码测试
public static void main(String[] args) throws IOException {
//局域网共享文件,读文件
//创建远程文件对象 smb://用户名:密码@ip地址/共享的路径/...
SmbFile smbFile = new SmbFile("smb://192.168.1.8/demo/1.txt");
// 通过 smbFile.isDirectory();isFile()可以判断smbFile是文件还是文件夹
//int length = smbFile.getContentLength();// 得到文件的大小
//byte buffer[] = new byte[length];
//new SmbFileInputStream(smbFile); // 建立smb文件输入流
BufferedReader reader = new BufferedReader(new InputStreamReader(new SmbFileInputStream(smbFile), StandardCharsets.UTF_8));//如果有中文乱码,换成gbk试试
int tempchar = 0;
while ((tempchar = reader.read()) != -1) {
if (((char) tempchar) != '\r') {
System.out.print((char) tempchar);
}
}
reader.close();
}
3.3 结果
上面代码1.txt运行结果
原文作者:java-zh
原文地址: https://blog.csdn.net/qq_36138652/article/details/122015186
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/qq_36138652/article/details/122015186
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
相关文章