java向linux服务器上传文件到指定路径
时间: 2023-08-09 19:01:38 浏览: 215
java上传文件到服务器
要将文件从Java上传到Linux服务器的指定路径,可以使用SSH(Secure Shell)库和协议进行远程连接和文件传输。下面是一个简单的示例代码,展示了如何使用JSch库在Java中进行文件上传:
```java
import com.jcraft.jsch.*;
public class FileUploader {
public static void main(String[] args) {
String hostname = "服务器地址";
int port = 22;
String username = "登录用户名";
String password = "登录密码";
String localFilePath = "本地文件路径";
String remoteDirectory = "远程服务器上的目标文件夹路径";
JSch jsch = new JSch();
try {
Session session = jsch.getSession(username, hostname, port);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword(password);
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftpChannel = (ChannelSftp) channel;
sftpChannel.cd(remoteDirectory); // 切换到远程服务器上的目标文件夹路径
sftpChannel.put(localFilePath, ""); // 将本地文件上传到指定路径,指定空字符串表示保持原有文件名
sftpChannel.disconnect();
session.disconnect();
System.out.println("文件上传成功!");
} catch (JSchException | SftpException e) {
e.printStackTrace();
}
}
}
```
在上述代码中,你需要将代码中的服务器地址、登录用户名、登录密码、本地文件路径以及远程服务器上的目标文件夹路径替换为你自己的实际设置。
这个例子使用JSch库建立与远程服务器的SSH连接,并使用SFTP协议进行文件传输。首先,通过创建一个Session对象,设置登录用户名、服务器地址和端口号,并使用密码进行身份验证。然后,打开一个sftp通道,连接到远程服务器。通过调用cd()方法切换到目标文件夹路径。最后,使用put()方法将本地文件上传到指定的远程路径。完成后,断开sftp通道和SSH会话。
希望这个示例能对你有所帮助!
阅读全文