java 利用SMB读取远程文件
来源:互联网 发布:java spring编程实例 编辑:程序博客网 时间:2024/06/05 15:16
java 利用SMB读取远程文件
文章分类:Java编程
- package com.yss.test.FileReadWriter;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.MalformedURLException;
- import jcifs.smb.SmbFile;
- import jcifs.smb.SmbFileInputStream;
- import jcifs.smb.SmbFileOutputStream;
- public class RemoteAccessData {
- /**
- * @param args
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
- smbGet1("smb://192.168.75.204/test/新建 文本文档.txt");
- smbGet("smb://192.168.75.204/test/新建 文本文档.txt","e:/");
- }
- /**
- * 方法一:
- *
- * @param remoteUrl
- * 远程路径 smb://192.168.75.204/test/新建 文本文档.txt
- * @throws IOException
- */
- public static void smbGet1(String remoteUrl) throws IOException {
- SmbFile smbFile = new SmbFile(remoteUrl);
- int length = smbFile.getContentLength();// 得到文件的大小
- byte buffer[] = new byte[length];
- SmbFileInputStream in = new SmbFileInputStream(smbFile);
- // 建立smb文件输入流
- while ((in.read(buffer)) != -1) {
- System.out.write(buffer);
- System.out.println(buffer.length);
- }
- in.close();
- }
- // 从共享目录下载文件
- /**
- * 方法二:
- * 路径格式:smb://192.168.75.204/test/新建 文本文档.txt
- * smb://username:password@192.168.0.77/test
- * @param remoteUrl
- * 远程路径
- * @param localDir
- * 要写入的本地路径
- */
- public static void smbGet(String remoteUrl, String localDir) {
- InputStream in = null;
- OutputStream out = null;
- try {
- SmbFile remoteFile = new SmbFile(remoteUrl);
- if (remoteFile == null) {
- System.out.println("共享文件不存在");
- return;
- }
- String fileName = remoteFile.getName();
- File localFile = new File(localDir + File.separator + fileName);
- in = new BufferedInputStream(new SmbFileInputStream(remoteFile));
- out = new BufferedOutputStream(new FileOutputStream(localFile));
- byte[] buffer = new byte[1024];
- while (in.read(buffer) != -1) {
- out.write(buffer);
- buffer = new byte[1024];
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- out.close();
- in.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- // 向共享目录上传文件
- public static void smbPut(String remoteUrl, String localFilePath) {
- InputStream in = null;
- OutputStream out = null;
- try {
- File localFile = new File(localFilePath);
- String fileName = localFile.getName();
- SmbFile remoteFile = new SmbFile(remoteUrl + "/" + fileName);
- in = new BufferedInputStream(new FileInputStream(localFile));
- out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile));
- byte[] buffer = new byte[1024];
- while (in.read(buffer) != -1) {
- out.write(buffer);
- buffer = new byte[1024];
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- out.close();
- in.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- // 远程url smb://192.168.0.77/test
- // 如果需要用户名密码就这样:
- // smb://username:password@192.168.0.77/test
- }
- java 利用SMB读取远程文件
- java 利用SMB读取远程文件
- java 利用SMB读取远程文件
- java 利用SMB读取远程文件
- java 利用SMB读取远程文件
- java 利用SMB读取远程文件
- Java利用SMB上传、下载、读取(内容或文件名)、复制、删除远程文件
- Java 使用SMB读取远程文件遇到的问题
- java基于SMB协议读取共享文件
- smb远程读取共享文件出现的问题
- java读取远程文件
- java读取远程文件
- Java读取远程文件
- java读取远程文件
- java读取远程文件
- java远程发送文件到服务器(jcifs.smb实现方式)
- smb协议读写远程文件
- java读取远程共享文件
- 面向对象设计思想(C#)
- 24学时搞定Perl 读书笔记(一)
- android map key
- Android 游戏开发之爆炸效果
- 反思(一)
- java 利用SMB读取远程文件
- 虚基类
- 上班族最致命的十种生活方式
- Spring任务调度,Quartz Scheduler
- java中读取Properties的六种方法
- html
- How To Create An ASM Diskgroup Using XML code Thru ASMCMD [ID 1290550.1]
- DIV拖动效果实现
- 需求文档特征