转载自笨笨熊的BLOG:http://www.mkv8.com/?p=42
以下是通过java的jcifs类库,访问网上邻居上的共享文件代码。相关类库下载地址:http://www.mkv8.com/?p=48
1 public class UploadDownloadUtil 2 { 3 4 /** 5 * 从共享目录拷贝文件到本地 6 * @param remoteUrl 共享目录上的文件路径 7 * @param localDir 本地目录 8 */ 9 public void smbGet(String remoteUrl, String localDir) 10 { 11 InputStream in = null; 12 OutputStream out = null; 13 try 14 { 15 SmbFile remoteFile = new SmbFile(remoteUrl); 16 // 这一句很重要 17 remoteFile.connect(); 18 if (remoteFile == null) 19 { 20 System.out.println("共享文件不存在"); 21 return; 22 } 23 String fileName = remoteFile.getName(); 24 File localFile = new File(localDir + File.separator + fileName); 25 in = new BufferedInputStream( new SmbFileInputStream(remoteFile)); 26 out = new BufferedOutputStream( new FileOutputStream(localFile)); 27 byte[] buffer = new byte[1024]; 28 while (in.read(buffer) != -1) 29 { 30 out.write(buffer); 31 buffer = new byte[1024]; 32 } 33 } 34 catch (Exception e) 35 { 36 e.printStackTrace(); 37 } 38 finally 39 { 40 try 41 { 42 out.close(); 43 in.close(); 44 } 45 catch (IOException e) 46 { 47 e.printStackTrace(); 48 } 49 } 50 } 51 52 /** 53 * 从本地上传文件到共享目录 54 * @Version1.0 Sep 25, 2009 3:49:00 PM 55 * @param remoteUrl 共享文件目录 56 * @param localFilePath 本地文件绝对路径 57 */ 58 public void smbPut(String remoteUrl, String localFilePath) 59 { 60 InputStream in = null; 61 OutputStream out = null; 62 try 63 { 64 File localFile = new File(localFilePath); 65 66 String fileName = localFile.getName(); 67 SmbFile remoteFile = new SmbFile(remoteUrl + "/" + fileName); 68 in = new BufferedInputStream( new FileInputStream(localFile)); 69 out = new BufferedOutputStream( new SmbFileOutputStream(remoteFile)); 70 byte[] buffer = new byte[1024]; 71 while (in.read(buffer) != -1) 72 { 73 out.write(buffer); 74 buffer = new byte[1024]; 75 } 76 } 77 catch (Exception e) 78 { 79 e.printStackTrace(); 80 } 81 finally 82 { 83 try 84 { 85 out.close(); 86 in.close(); 87 } 88 catch (IOException e) 89 { 90 e.printStackTrace(); 91 } 92 } 93 } 94 95 public static void main(String[] args) 96 { 97 UploadDownloadUtil test = new UploadDownloadUtil(); 98 // smb:域名;用户名:密码@目的IP/文件夹/文件名.xxx 99 // test.smbGet("smb: // szpcg;jiang.t:xxx@192.168.193.13/Jake/test.txt", 100 // "c: // ") ; 101 102 // test.smbPut("smb: // szpcg;jiang.t:xxx@192.168.193.13/Jake", 103 // "c: // test.txt"); 104 105 106 // 用户名密码不能有强字符,也就是不能有特殊字符,否则会被作为分断处理 107 test.smbGet("smb://CHINA;xieruilin:123456Xrl@10.70.36.121/project/report/网上问题智能分析助手使用文档.doc", 108 "c://Temp/"); 109 110 } 111 112 }转载于:https://www.cnblogs.com/cancelpj/archive/2011/11/23/2260145.html
相关资源:Java类库大全