java 将远程共享的文件复制到本地
来源:互联网 发布:数据监控系统 编辑:程序博客网 时间:2024/05/14 16:39
java 远程共享的文件复制到本地
public class ReadSmb {public static void main(String[] args) {String smbMachine = "smb://用户名:密码@远程共享的ip地址/123/20120314141221_00003.tif";String localPath = "E:/test";File file = readFromSmb(smbMachine,localPath);}public static File readFromSmb(String smbMachine,String localPath){File localfile = null;InputStream is = null;OutputStream os = null;try{//远程读取文件SmbFile rmiFile = new SmbFile(smbMachine);String filename = rmiFile.getName(); //获取文件名is = new BufferedInputStream(new SmbFileInputStream(rmiFile)); //对文件进行读取//将远程文件写到本地localfile = new File(localPath + File.separator + filename); //将远程拷贝的文件,指定到具体的本地的具体路径System.out.println("lcoalfile:" + localfile);os = new BufferedOutputStream(new FileOutputStream(localfile)); int length = rmiFile.getContentLength(); //获取文件的内容大小System.out.println("length:" + length);byte[] buffer = new byte[length];is.read(buffer); os.write(buffer); //开始写}catch(Exception e){e.printStackTrace();}finally{try {is.close();os.close();} catch (IOException e) {e.printStackTrace();}}return localfile;}}
注意:String smbMachine = "smb://用户名:密码@共享文件的IP/123/20120314141221_00003.tif";有的机器这样写是没有问题的,
但是如果是xp的机器,这样写会抛如下异常
jcifs.smb.SmbAuthException: Logon failure: unknown user name or bad password.at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:387)at jcifs.smb.SmbSession.send(SmbSession.java:235)at jcifs.smb.SmbTree.treeConnect(SmbTree.java:161)at jcifs.smb.SmbFile.doConnect(SmbFile.java:858)at jcifs.smb.SmbFile.connect(SmbFile.java:901)at jcifs.smb.SmbFile.connect0(SmbFile.java:827)at jcifs.smb.SmbFile.open0(SmbFile.java:917)at jcifs.smb.SmbFile.open(SmbFile.java:951)at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:73)at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:65)at com.xdl.ReadSmb.readFromSmb(ReadSmb.java:36)at com.xdl.ReadSmb.main(ReadSmb.java:24)Exception in thread "main" java.lang.NullPointerExceptionat com.xdl.ReadSmb.readFromSmb(ReadSmb.java:52)at com.xdl.ReadSmb.main(ReadSmb.java:24)把这串字符改成 "smb://共享文件的IP/123/20120314141221_00003.tif"(即去掉用户名和密码)结果就没有抛异常了
- java 将远程共享的文件复制到本地
- 如何将远程计算机中的文件复制到本地计算机
- java调用scp,文件从本地复制到远程
- 本地的一个文件复制到远程计算机上
- 如何将网络上的共享文件映射到本地
- 将远程的git文件下载到本地
- 定义服务器游标的属性 将远程表上的数据复制到本地
- MySQL:将远程服务器的数据库拷到本地/复制他人数据库
- java 把已知下载路径的文件复制到本地
- java 把已知下载路径的文件复制到本地
- Linux scp从本地复制到远程和从远程复制到本地的区别
- hdfs复制数据到本地服务器+本地服务器复制数据到远程服务器+重命名文件
- C#访问远程服务器共享目录下载文件到本地
- SSH连接下复制远程linux服务器文件到本地
- 用SSH从本地批量复制文件到远程服务器
- 解决:本地计算机无法复制文件到远程计算机
- scp 远程复制到本地
- java下载远程文件到本地
- UPnP基本原理以及在NAT中的应用
- SQLServer索引的四个高级特性 .
- 信息化十年有感
- linux route add
- 无光驱无U盘 硬盘安装操作系统 NT6
- java 将远程共享的文件复制到本地
- tomcat在win7下面启动的问题。 郁闷了半天。 多亏了这位大哥。
- BouncyCastle JCE 的安装配置及在java中的使用
- shareperference使用
- 如何结合CoreData给UITableView的section填充数据
- HierarchicalStateMachine(HandlerStateMachine)分析
- 什么是极性反转 polarity reversal
- hbase 结点之间时间不一致造成regionserver启动失败
- 手动修改/etc/shadow和/etc/passwd中的用户密码