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运行结果

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值