java 读取远程共享文件
来源:互联网 发布:linux命令ls -lre意思 编辑:程序博客网 时间:2024/06/05 05:33
jcifs 项目地址 http://jcifs.samba.org/
例子一
import jcifs.smb.SmbFile;import jcifs.smb.SmbFileInputStream;public class ReadShareFile {public static void main(String[] args) {try {SmbFile smbFile = new SmbFile("smb://test:test@192.168.1.1/out/test.txt");int length = smbFile.getContentLength();// 得到文件的大小byte buffer[] = new byte[length];SmbFileInputStream in = new SmbFileInputStream(smbFile);// 建立smb文件输入流while ((in.read(buffer)) != -1) {System.out.write(buffer);System.out.println(buffer.length);}in.close();} catch (Exception e) {e.printStackTrace();}}}
例子二
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Date;import jcifs.smb.SmbFile;import jcifs.smb.SmbFileInputStream; public class TestReadSmb { public static void main(String[] args){ String smbMachine="smb://test:test@10.108.23.200/temp/test.txt"; String localPath="D:\\temp"; File file=readFromSmb(smbMachine,localPath); removeFile(file); } /** *** * 从smbMachine读取文件并存储到localpath指定的路径 * * @param smbMachine * 共享机器的文件,如smb://xxx:xxx@10.108.23.112/myDocument/测试文本.txt,xxx:xxx是共享机器的用户名密码 * @param localpath * 本地路径 * @return */ public static File readFromSmb(String smbMachine,String localpath){ File localfile=null; InputStream bis=null; OutputStream bos=null; try{ SmbFile rmifile = new SmbFile(smbMachine); String filename=rmifile.getName(); bis=new BufferedInputStream(new SmbFileInputStream(rmifile)); localfile=new File(localpath+File.separator+filename); System.out.println("localfile=="+localfile); bos=new BufferedOutputStream(new FileOutputStream(localfile)); int length=rmifile.getContentLength(); System.out.println("length=="+length); byte[] buffer=new byte[length]; Date date=new Date(); bis.read(buffer); bos.write(buffer); Date end=new Date(); int time= (int) ((end.getTime()-date.getTime())/1000); if(time>0) System.out.println("用时:"+time+"秒 "+"速度:"+length/time/1024+"kb/秒"); } catch (Exception e){ System.out.println(e.getMessage()); }finally{ try { bos.close(); bis.close(); } catch (IOException e) { e.printStackTrace(); } } return localfile; } public static boolean removeFile(File file) { return file.delete(); } }
注意:String smbMachine = "smb://用户名:密码@共享文件的IP/123/20120314141221_00003.tif";有的机器这样写是没有问题的,但是如果是xp的机器,这样写会抛如下异常.把这串字符改成 "smb://共享文件的IP/123/20120314141221_00003.tif"(即去掉用户名和密码)结果就没有抛异常了
0 0
- java读取远程共享文件
- java读取远程共享文件
- java 读取远程共享文件
- java程序读取远程机器共享文件
- java读取远程文件
- java读取远程文件
- Java读取远程文件
- java读取远程文件
- java读取远程文件
- java打开远程共享文件
- java访问远程共享文件
- c# 建立局域网远程共享连接,读取共享文件
- JAVA实现远程文件读取!
- JAVA实现远程文件读取!
- JAVA实现远程文件读取
- java读取远程主机文件
- smb远程读取共享文件出现的问题
- java基于SMB协议读取共享文件
- ws与soa区别
- 关于屏幕自适应的资料及其他。。。
- 第一个racket程序:获得字符串中的数字
- Protocol Buffers安装与简单使用
- 深度解析windows调试技术之一 [抓取user mode dump文件的几重境界]
- java 读取远程共享文件
- MAC 下 安装配置 MySQL数据库
- linux下mysql的用户管理及访问问题
- mysql的dual
- ListView Item中有Button checkbox 点击Item子控件不响应解决
- 《算法导论》笔记 第24章 24.1 单源最短路径
- xml 杂记
- DAVINCI DM365-DM368开发攻略——开发环境搭建(DVSDK4.02)
- 分布式技术备份