通常将远程共享目录中进行读取的时候,需要输入登陆的用户和密码,来判断用户是否有权限进行访问,在代码中需要将用户的信息设置进去,来获取该目录的访问权限等;代码如下:
public class CopyNetFileUtil {
private static final Logger logger = Logger.getLogger(CopyNetFileUtil.class);
/**
* sample
* @param inputPath e:/remarks.xls
* @param outputPath /shared/ocean/remarks.xls
* @throws Exception
*/
public static void writeShareFile(String inputPath, String outputPath) throws Exception {
try {
SmbFile smbFile = new SmbFile("smb://用户:密码@IP地址" + outputPath);
File file = new File(inputPath);
int length = (int) file.length(); // get file size
FileInputStream fi = new FileInputStream(file);
byte buffer[] = new byte[2048];
SmbFileOutputStream out = new SmbFileOutputStream(smbFile);
while (fi.read(buffer) != -1) {
out.write(buffer);
}
fi.close();
out.flush();
out.close();
} catch (MalformedURLException e) {
logger.error(e);
throw e;
}
}
public static File readFromSmb(
String userName,
String passWd,
String ip,
String smbFilePath,
String localpath) {
File localfile = null;
InputStream bis = null;
OutputStream bos = null;
String smbMachine = null;
try {
smbMachine = "smb://" + userName + ":" + passWd + "@" + ip + smbFilePath;
SmbFile rmifile = new SmbFile(smbMachine);
String filename = rmifile.getName();
bis = new BufferedInputStream(new SmbFileInputStream(rmifile));
localfile = new File(localpath + filename);
System.out.println("localfile==" + localfile);
bos = new BufferedOutputStream(new FileOutputStream(localfile));
int length = rmifile.getContentLength();
System.out.println("length==" + length);
byte[] buffer = new byte[2048];
while (bis.read(buffer) != -1) {
bos.write(buffer);
}
bos.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
bos.close();
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return localfile;
}
public static void main(String[] args) {
String network_output_ip = "IP地址";
String network_output_id = "用户名";
String network_output_password = "密码";
String network_output_path = "共享文件路径和文件名";
try {
CopyNetFileUtil.writeShareFile("d:/test.txt", network_output_path);
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
本文件是将 Java 中 通过远程url访问 转换成 HTML 文件 ,通过 dom4j转换成Java对象元素
JAVA是一种广泛应用于软件开发的编程语言,随着网络技术的发展,JAVA也提供了许多支持远程文件读取的功能,本文将详细介绍JAVA实现远程文件读取的知识点。 1. Socket 编程 在JAVA中,Socket是最基本的网络编程接口...
主要实现的是登录服务器操作服务器的中的文件数据,支持读写的操作。主要使用的方法getProperties是设置配置的login(参数一是访问服务器的配置,参数二是设置读还是写)方法是读写连接服务器
在PHP编程中,读取远程文件是一个常见的任务,特别是在处理数据抓取、API交互或集成外部服务时。这个"一个读取远程文件的php函数类.zip"提供的功能就是解决这类问题的一个工具。在这个压缩包中,包含了一个PHP类,它...
例如,要读取远程文件,可以先调用`openFile()`获取文件句柄,再创建`InputStream`来读取文件内容。 3. **异常处理和安全考虑**:在进行SSH操作时,必须妥善处理可能出现的异常,如连接拒绝、超时、权限问题等。...
java 读取远程共享文件,一个操作简单的读取远程资源的控件。
在Python编程中,远程文件读写是一项常见的任务,特别是在分布式系统和云计算环境中。这个主题主要涉及如何使用Python的内置库或第三方库来处理远程主机上的文件。以下是对标题和描述中涉及的知识点的详细说明: 1....
对于“WebApplication1”,这可能是一个ASP.NET Web应用程序项目,其中可能包含了实现上述远程文件读取和分析功能的代码。项目中的类和方法会根据实际需求来设计,可能包括处理HTTP请求、数据解析、异常处理等逻辑。...
在IT行业中,远程管理和共享目录的文件操作是一个重要的议题,特别是在网络编程和系统管理中。ASP.NET是一个由微软开发...通过分析和学习这些代码,开发者可以深入理解如何在ASP.NET环境中实现实时的远程文件管理功能。
以下是一个简单的RMI文件读取服务的例子: 1. **服务端(Server)**: - 定义远程接口:创建一个名为`FileService`的接口,其中包含一个`readFile(String filePath)`方法,返回文件内容。 - 实现远程接口:创建一...
BufferedInputStream用于读取远程文件,而DataOutputStream用于将文件写入到本地。 4. 文件大小的确定 代码中使用了随机访问文件RandomAccessFile来确定已经下载的文件大小。 5. 文件的重命名 代码中使用了...
java 读取远程网站上的 数据,如 :图片,附件,视频等
本文将深入探讨如何使用Java语言实现缓冲多线程无阻塞读取远程文件的技术方案,该方案不仅适用于音乐播放等场景,还能广泛应用于各类需要高速数据传输的应用中。 #### 关键技术点解析 ##### 1. **缓冲区设计与多...
总的来说,易语言远程服务文件传输涉及到网络编程、文件操作、数据编码解码等多个方面,对于开发者来说,理解和掌握这些知识点是实现远程文件传输的关键。通过学习和实践,可以构建出高效、安全的文件传输系统,满足...
本文将深入探讨如何在Java中处理XML文件,特别是聚焦于远程读取XML文件的方法与实践,并结合SOAP协议进行具体阐述。 #### 一、Java处理XML文件的基础 在Java中处理XML文件主要依赖于以下几种技术: 1. **DOM ...
在这个“一个文件的读写例子”中,我们将深入探讨如何在Python中实现这一功能,因为Python的File IO操作简洁易懂。 1. **打开文件**:首先,我们需要使用内置的`open()`函数打开文件。这个函数接受两个参数:文件名...
JAVA读取远程网页文件并保存本地 从远程URL地址获取网页文件下载到本地 这个方法可以生成静态HTML文件使用!
然后,打开本地和远程的文件流,并通过循环读写操作将远程文件的内容复制到本地文件。最后,记得关闭所有打开的流以释放资源。 注意,为了使用jcifs库,你需要在你的项目中添加jcifs-1.3.14.jar作为依赖,这可以...
在Delphi编程中,有时我们需要从远程服务器上读取配置文件,如`.ini`或`.txt`文件,以便获取程序运行所需的数据或指令。本文将详细介绍如何使用Delphi实现这一功能,主要涉及网络通信和文件操作两个核心部分。 首先...
这通常涉及`FileInputStream`(用于读取远程文件)和`FileOutputStream`(用于写入本地文件)。`SmbUtils.java`中的某个方法可能负责从共享目录读取文件内容,并通过文件流将其写入到本地目录。 4. **身份验证**: ...