java 如何获取远程服务器文件输入流
时间: 2023-09-13 08:12:48 浏览: 207
要获取远程服务器文件的输入流,可以使用 Java 中的 SFTP(Secure File Transfer Protocol)协议。SFTP 是一种安全的文件传输协议,可以通过 SSH 连接来上传和下载文件。
以下是一个使用 Jsch 库实现 SFTP 协议的示例代码:
```java
import com.jcraft.jsch.*;
import java.io.InputStream;
public class SFTPExample {
public static void main(String[] args) {
String user = "username";
String password = "password";
String host = "example.com";
int port = 22;
String remoteFile = "/path/to/remote/file.txt";
try {
JSch jsch = new JSch();
Session session = jsch.getSession(user, host, port);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
ChannelSftp sftpChannel = (ChannelSftp) session.openChannel("sftp");
sftpChannel.connect();
InputStream inputStream = sftpChannel.get(remoteFile);
// 使用输入流读取文件内容
sftpChannel.disconnect();
session.disconnect();
} catch (JSchException | SftpException e) {
e.printStackTrace();
}
}
}
```
在上面的示例代码中,使用了 JSch 库连接到远程主机,打开 SFTP 通道并获取文件的输入流。你可以使用输入流读取文件内容,并在读取完成后关闭通道和会话。
阅读全文