时间:2021-05-20
项目常常需要有访问共享文件夹的需求,例如共享文件夹存储照片、文件等。那么如何使用Java读写Windows共享文件夹呢?
Java可以使用JCIFS框架对Windows共享文件夹进行读写,就这个框架可以让我们像访问本地文件夹一下访问远程文件夹。
JCIFS的网址: http://jcifs.samba.org/
JCIFS是使用纯Java开发的一个开源框架,通过smb协议访问远程文件夹。该框架同时支持Windows共享文件夹和Linux共享文件夹,不过,Linux共享文件夹需要安装Samba服务软件(官网:http://BIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
本文主要学习一下使用Java访问Windows共享文件夹的方法。
首先找一台Windows机器,在任意位置创建文件夹:sharedFolder,并设置为共享,设置共享用户名:share,密码:admin。
(Windows7下设置共享文件夹方法:Windows7下设置共享文件夹方法:https:///os/windows/78034.html)
不论是Windows还是Linux的共享文件夹,使用Java smb访问共享文件夹的代码都是一样的,只是Windows与Linux配置共享文件夹的方式不一样。
测试代码如下:
以上代码中,使用了JCIFS框架提供的SmbFile类,这个类和Java的File类比较相似,使用这个类的对象,可以处理远程文件的读写。使用File对象读取本地文件,然后使用SmbFile对象写入远程文件。SmbFile的connect()方法可以尝试连接远程文件夹,如果账号或密码错误,将抛出连接异常。
当下载远程文件时,使用SmbFile对象读取远程文件即可,代码如下:
InputStream in = null ; ByteArrayOutputStream out = null ; try { //创建远程文件对象 String remotePhotoUrl = "smb://share:admin@11/sharedFolder/testjpg"; SmbFile remoteFile = new SmbFile(remotePhotoUrl); remoteFileconnect(); //尝试连接 //创建文件流 in = new BufferedInputStream(new SmbFileInputStream(remoteFile)); out = new ByteArrayOutputStream((int)remoteFilelength()); //读取文件内容 byte[] buffer = new byte[4096]; int len = 0; //读取长度 while ((len = inread(buffer, 0, bufferlength)) != - 1) { outwrite(buffer, 0, len); } outflush(); //刷新缓冲的输出流 return outtoByteArray(); } catch (Exception e) { String msg = "下载远程文件出错:" + egetLocalizedMessage(); Systemoutprintln(msg); } finally { try { if(out != null) { outclose(); } if(in != null) { inclose(); } } catch (Exception e) {} }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Ubuntu和windows文件共享问题ubuntu访问windows共享文件夹(ubuntu桌面系统):最简单的方法,随便打开一个文件夹,按Ctrl+L,然后
本文实例为大家分享了C#读写共享文件夹的具体代码,供大家参考,具体内容如下该试验分以下步骤:1、在服务器设置一个共享文件夹,在这里我的服务器ip地址是10.80
本文实例讲述了C#进行文件读写、创建、复制、移动、删除的方法。分享给大家供大家参考。具体分析如下:1.文件夹创建、移动、删除//创建文件夹Directory.C
如何启用文件夹复制: 1、使用Windows家庭服务器控制台来连接到Windows家庭服务器。 2、选择共享文件夹选项卡。 3、选择您希望启用文件夹复制功
1、使用Windows家庭服务器控制台来连接到Windows家庭服务器。 2、选择共享文件夹选项卡。 3、选择您希望启用文件夹复制功能的文件夹,然后单击