欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java的ftp和sftp文件上傳

錢諍諍1年前8瀏覽0評論

FTP(文件傳輸協議)和SFTP(安全文件傳輸協議)是兩種常見的文件上傳協議,Java提供了豐富的API來支持這兩種協議的文件上傳操作。

以下是使用Java實現FTP文件上傳的示例代碼:

import org.apache.commons.net.ftp.FTPClient;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class FtpUploader {
public void upload(String server, int port, String username, String password, String filePath, String remotePath) {
FTPClient ftpClient = new FTPClient();
FileInputStream inputStream = null;
try {
ftpClient.connect(server, port);
ftpClient.login(username, password);
ftpClient.enterLocalPassiveMode();
inputStream = new FileInputStream(new File(filePath));
ftpClient.storeFile(remotePath, inputStream);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
ftpClient.logout();
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

以上代碼中,先創建一個FTPClient對象,然后連接到FTP服務器、登錄并切換到被動模式,接著從本地讀取待上傳的文件,最后使用storeFile()方法將文件上傳到FTP服務器指定的遠程目錄下。

下面是使用Java實現SFTP文件上傳的示例代碼:

import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class SftpUploader {
public void upload(String server, int port, String username, String password, String filePath, String remotePath) {
JSch jsch = new JSch();
Session session = null;
ChannelSftp channel = null;
FileInputStream inputStream = null;
try {
session = jsch.getSession(username, server, port);
session.setPassword(password);
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
channel = (ChannelSftp) session.openChannel("sftp");
channel.connect();
inputStream = new FileInputStream(new File(filePath));
channel.put(inputStream, remotePath);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
channel.disconnect();
session.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

以上代碼中,使用JSch庫實現與SFTP服務器的連接,連接成功后打開ChannelSftp通道并將待上傳的文件put到指定的遠程目錄下。