java sftp上传文件
时间: 2023-07-18 07:41:30 浏览: 35
可以使用JSch(Java Secure Channel)实现SFTP上传文件,以下是一个简单的示例代码:
```java
import com.jcraft.jsch.*;
public class SftpUploader {
public static void main(String[] args) {
String host = "sftp.example.com";
int port = 22;
String username = "username";
String password = "password";
String localFilePath = "/path/to/local/file";
String remoteFilePath = "/path/to/remote/file";
JSch jsch = new JSch();
Session session = null;
ChannelSftp channel = null;
try {
// 创建SSH会话
session = jsch.getSession(username, host, port);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
// 创建SFTP通道
channel = (ChannelSftp) session.openChannel("sftp");
channel.connect();
// 上传文件
channel.put(localFilePath, remoteFilePath);
System.out.println("文件上传成功");
} catch (JSchException | SftpException e) {
e.printStackTrace();
} finally {
// 关闭SFTP通道和SSH会话
if (channel != null) {
channel.disconnect();
}
if (session != null) {
session.disconnect();
}
}
}
}
```
在代码中,需要替换示例中的主机地址、端口、用户名、密码、本地文件路径和远程文件路径,以符合实际情况。