博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA从局域网共享文件夹中下载上传文件以及java访问共享文件夹
阅读量:4949 次
发布时间:2019-06-11

本文共 3957 字,大约阅读时间需要 13 分钟。

1 package com.xx.test;  2   3   4 import java.io.BufferedInputStream;  5 import java.io.BufferedOutputStream;  6 import java.io.File;  7 import java.io.FileInputStream;  8 import java.io.FileOutputStream;  9 import java.io.IOException; 10 import java.io.InputStream; 11 import java.io.OutputStream; 12 import jcifs.smb.SmbFile; 13 import jcifs.smb.SmbFileInputStream; 14 import jcifs.smb.SmbFileOutputStream; 15  16 /**    17  * java访问共享目录 18  * 19  * @author 林计钦 20  * @version 1.0 2013-7-16 上午09:18:38    21  */ 22 public class test02 { 23  24     public static void main(String[] args) throws Exception { 25         //smb://xxx:xxx@192.168.2.188/testIndex/   26         //xxx:xxx是共享机器的用户名密码 27         String url="smb://C1307890:Ivo123@10.20.2.33/CIMPublic/"; 28         SmbFile file = new SmbFile(url); 29         if(file.exists()){ 30             SmbFile[] files = file.listFiles(); 31             for(SmbFile f : files){ 32                 System.out.println(f.getName()); 33             } 34         } 35          36         smbGet("smb://C1307890:Ivo123@10.20.2.33/CIMPublic/02 MES/SPC/Spc_Check_IVO_V1_00.ppt", "D:/ap_log"); 37         smbPut("smb://C1307890:Ivo123@10.20.2.33/CIMPublic/", "D:/qra/fileUpload/SQL_JOIN.pptx"); 38          39     } 40      41 //    从共享目录下载文件    42     @SuppressWarnings("unused") 43     public static void smbGet(String remoteUrl,String localDir) {        44        InputStream in = null;        45        OutputStream out = null;        46        try {        47            SmbFile remoteFile = new SmbFile(remoteUrl);        48            if(remoteFile==null){        49               System.out.println("共享文件不存在");        50               return;        51            }        52            String fileName = remoteFile.getName();        53            File localFile = new File(localDir+File.separator+fileName);        54            in = new BufferedInputStream(new SmbFileInputStream(remoteFile));        55            out = new BufferedOutputStream(new FileOutputStream(localFile));           56            byte[] buffer = new byte[1024];        57            while(in.read(buffer)!=-1){        58               out.write(buffer);        59               buffer = new byte[1024];        60            }        61        } catch (Exception e) {        62            e.printStackTrace();        63        } finally {        64            try {        65               out.close();        66               in.close();        67            } catch (IOException e) {        68               e.printStackTrace();        69            }        70        }        71     }   72      73    //向共享目录上传文件      74     public static void smbPut(String remoteUrl,String localFilePath) {        75        InputStream in = null;        76        OutputStream out = null;        77        try {        78            File localFile = new File(localFilePath);        79                   80            String fileName = localFile.getName();        81            SmbFile remoteFile = new SmbFile(remoteUrl+"/"+fileName);        82            in = new BufferedInputStream(new FileInputStream(localFile));           83            out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile));        84            byte[] buffer = new byte[1024];        85            while(in.read(buffer)!=-1){        86               out.write(buffer);        87               buffer = new byte[1024];        88            }        89        } catch (Exception e) {        90            e.printStackTrace();        91        } finally {        92            try {        93               out.close();        94               in.close();        95            } catch (IOException e) {        96               e.printStackTrace();        97            }        98        }        99     }   100     101 }

 远程url     smb://192.168.0.77/test如果需要用户名密码就这样:

smb://username:password@192.168.0.77/test

转载于:https://www.cnblogs.com/tianhyapply/p/3721381.html

你可能感兴趣的文章
hp 服务器通过串口重定向功能的使用
查看>>
此博客不再发表对自己私事的看法
查看>>
导致Asp.Net站点重启的10个原因
查看>>
【PMP】Head First PMP 学习笔记 第一章 引言
查看>>
抓住云机遇编排工作 搞定复杂IT工作流
查看>>
MYSQL的longtext字段能放多少数据?
查看>>
MTK 平台上如何给 camera 添加一种 preview size
查看>>
云计算最大难处
查看>>
mysql定时备份自动上传
查看>>
17岁时少年决定把海洋洗干净,现在21岁的他做到了
查看>>
《写给大忙人看的java se 8》笔记
查看>>
倒计时:计算时间差
查看>>
Linux/windows P2V VMWare ESXi
查看>>
Windows XP倒计时到底意味着什么?
查看>>
运维工程师在干什么学些什么?【致菜鸟】
查看>>
Linux中iptables详解
查看>>
java中回调函数以及关于包装类的Demo
查看>>
maven异常:missing artifact jdk.tools:jar:1.6
查看>>
终端安全求生指南(五)-——日志管理
查看>>
Nginx 使用 openssl 的自签名证书
查看>>