通过jcifs.jar 创建远程文件和文件夹。。。非ftp方式。
2011-02-19 21:38
288 查看
jcifs-1.3.15.jar的下载链接地址为:http://jcifs.samba.org/src/
package com.project.remoteUrl; import java.io.File; import java.io.InputStream; import java.io.OutputStream; import java.io.FileInputStream; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import jcifs.smb.SmbFile; import jcifs.smb.SmbFileOutputStream; public class RemoteUrl { //<><><><><><><><><><>注意jcifs-1.3.15.jar 需要 远程计算机在局域网内,并且开启共享磁盘权限!<><><><><><><> /* * Description: 从本地上传文件到共享目录 * @param remoteUrl 共享文件目录 * @param localFilePath 本地文件绝对路径 */ public void smbPut(String remoteUrl,String localFilePath){ InputStream in = null; OutputStream out = null; try{ //创建file类 传入本地文件路径 File localFile = new File(localFilePath); //获得本地文件的名字 String fileName = localFile.getName(); //将本地文件的名字和远程目录的名字拼接在一起 //确保上传后的文件于本地文件名字相同 SmbFile remoteFile = new SmbFile(remoteUrl+"/"+fileName); //创建读取缓冲流把本地的文件与程序连接在一起 in = new BufferedInputStream(new FileInputStream(localFile)); //创建一个写出缓冲流(注意jcifs-1.3.15.jar包 类名为Smb开头的类为控制远程共享计算机"io"包) //将远程的文件路径传入SmbFileOutputStream中 并用 缓冲流套接 out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile)); //创建中转字节数组 byte[] buffer = new byte[1024]; while(in.read(buffer)!=-1){//in对象的read方法返回-1为 文件以读取完毕 out.write(buffer); buffer = new byte[1024]; } }catch(Exception e){ e.printStackTrace(); }finally{ try{ //注意用完操作io对象的方法后关闭这些资源,走则 造成文件上传失败等问题。! out.close(); in.close(); }catch(Exception e){ e.printStackTrace();} } } /* 在本地为共享计算机创建文件夹 * @param remoteUrl 远程计算机路径 */ public void smbMkDir(String remoteUrl){ try{ //注意使用jcifs-1.3.15.jar的时候 操作远程计算机的时候所有类前面须要增加Smb //创建一个远程文件对象 SmbFile remoteFile = new SmbFile(remoteUrl+ File.separator + "123"); if(!remoteFile.exists()){ //创建远程文件夹 remoteFile.mkdir(); } }catch(Exception e){ e.printStackTrace(); } } /** * @param args */ public static void main(String[] args) { RemoteUrl test = new RemoteUrl(); //注意: 创建远程文件的远程文件路径需要按以下格式写。 如我的ip为172.16.50.38 我需要在d盘创建一个叫Scan6C的文件夹 test.smbMkDir("smb://172.16.50.38/d/Scan6C"); //如远程计算机有用户名和密码的限制的话 请按一下格式填写 smb://{user}:{password}@{host}/{path} test.smbPut("smb://aaa:bb@172.16.50.38/Scan6C", "c://test.txt") ; } }
相关文章推荐
- 通过jcifs.jar 创建远程文件和文件夹
- Java通过commons-net.jar包上传ftp文件到多台手机
- FTP上传下载 FTP操作类 FTPHelper 异步上传 递归创建文件文件夹
- 通过CuteFTP查看远程ftp服务器的隐藏文件(如.htaccess)
- centos6.4下定时通过ftp获取数据库服务器上的文件并且删除远程目录里面的文件
- FTP采用WebClient 方式下载文件夹,下载下来有些文件为0kb,BUG
- ftp远程下载文件一、创建ftp服务器(win8系统)
- FTP上传下载 FTP操作类 FTPHelper 异步上传 递归创建文件文件夹
- [BAT] 以当前时间为名创建文件夹,将本地文件夹里的文件拷贝到远程共享目录,而且保证本地和Jenkins上运行都成功
- [BAT] 以当前时间为名创建文件夹,将本地文件夹里的文件拷贝到远程共享目录
- 批处理:Windows主机通过FTP下载远程Linux主机上文件
- wget下载ftp文件,通过用户名和密码的方式
- PHP 通过DOM方式创建一个book.xml文件
- java 通过SSH方式连接远程主机并上传和下载文件
- 通过群晖 DSM 的 “装载远程文件夹(CIFS)” 功能来装载局域网中的 Win7 主机的指定文件或盘符
- 远程连接主机,并用文件匹配方式创建用户
- FTP 打开文件夹提示"该文件没有程序与之关联来执行该操作 请在控制面板的文件夹选项中创建关联
- FTP 550 Permission denied 只能读文件夹,没法创建,删除及上传文件
- VB用API实现FTP上传文件,创建远程目录(类模块)
- 03_dbcp数据源依赖jar包,DBCP中API介绍,不同过dbcp方式使用dbcp数据库连接池,通过配置文件使用dbcp数据库连接池