java如何远程访问一个共享目录
2008-11-24 15:25
120 查看
由于工作需要读取局域网中一台机器的 共享目录中的文件,需要jcifs-1.1.11.jar的支持,使用SMB协议协议,以下是实现了远程读取并复制到本地,然后删除本地文件的功能:
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://10.108.23.200/temp/说明文件.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); bos=new BufferedOutputStream(new FileOutputStream(localfile)); int length=rmifile.getContentLength(); 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) ...{ // TODO Auto-generated catch block System.out.println(e.getMessage()); }finally{ try { bos.close(); bis.close(); } catch (IOException e) { // // TODO Auto-generated catch block e.printStackTrace(); } } return localfile; } public static boolean removeFile(File file) { return file.delete(); } }
阅读更多
相关文章推荐
- java远程访问共享目录
- JAVA远程访问共享目录
- 如何用java代码访问远程web服务器(手写一个自己的httpClient)
- Java使用smb访问远程共享目录
- JAVA远程访问共享目录
- [Domino]如何用java远程访问Domino邮箱数据
- java中如何把一个目录下的文件移到另一个指定目录中
- 如何在 Linux 中创建一个共享目录
- java如何向一个远程的url发出post请求
- java远程共享文件访问jcifs解决密码中特殊符号问题
- java中如何理解多个对象共享同一个静态成员变量(多个实例的static变量会共享同一块内存区域)
- Linux下两个远程登陆用户如何共享同一个登陆shell
- flex访问java的一个远程对象方法
- java 访问linux 共享目录 NFS samba
- 关于如何打包java程序(我的是一个聊天服务器),并将jar包部署到远程linux服务器上
- java web 如何创建一个可供访问的文件(通过url访问)
- 在桌面上一个文件里面为DOS界面的java根目录,怎么才能访问桌面上面的文件???
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- java远程访问局域网内其他机器的共享文件
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件