没有合适的资源?快使用搜索试试~ 我知道了~
首页java利用SMB读取远程文件的方法
java利用SMB读取远程文件的方法
684 浏览量
更新于2023-05-29
评论
收藏 35KB PDF 举报
主要为大家详细介绍了java利用SMB读取远程文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
资源详情
资源评论
资源推荐

java利用利用SMB读取远程文件的方法读取远程文件的方法
主要为大家详细介绍了java利用SMB读取远程文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考
一下
本文实例为大家分享了java利用SMB读取远程文件的具体代码,供大家参考,具体内容如下
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];


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0