在Java中,將文件從Windows服務(wù)器復(fù)制到Linux服務(wù)器,常用的方式是使用SSH進(jìn)行安全的文件傳輸。Java有一個(gè)名為JSch
的庫,可以用于SSH連接和操作。
首先,你需要將JSch
添加到你的項(xiàng)目依賴中。如果你使用的是Maven,你可以添加以下依賴:
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
然后,你可以使用以下代碼將文件從Windows服務(wù)器傳輸?shù)絃inux服務(wù)器:
import com.jcraft.jsch.*;
import java.io.FileInputStream;
import java.io.IOException;
public class FileTransfer {
public static void main(String[] args) {
String user = "username"; // 你的Linux用戶名
String host = "hostname"; // 你的Linux服務(wù)器主機(jī)名或IP
int port = 22; // SSH運(yùn)行的端口
String password = "password"; // 你的Linux密碼
String localFile = "C:\\path\\to\\your\\file.txt"; // 你在Windows服務(wù)器上的本地文件路徑
String remoteDir = "/path/to/remote/dir"; // 你在Linux服務(wù)器上的遠(yuǎn)程目錄路徑
JSch jsch = new JSch();
Session session = null;
try {
// 建立SSH會(huì)話
session = jsch.getSession(user, host, port);
// 連接認(rèn)證
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
// 打開一個(gè)SFTP通道
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftp = (ChannelSftp) channel;
// 進(jìn)行文件傳輸
sftp.put(new FileInputStream(localFile), remoteDir + "/" + localFile.substring(localFile.lastIndexOf("\\") + 1));
// 關(guān)閉連接
channel.disconnect();
session.disconnect();
} catch (JSchException | SftpException | IOException e) {
e.printStackTrace();
}
}
}
在這段代碼中,我們首先建立了一個(gè)SSH連接并進(jìn)行認(rèn)證,然后我們打開了一個(gè)SFTP通道并進(jìn)行了文件傳輸。文件傳輸完成后,我們關(guān)閉了所有的連接。
你需要將代碼中的username
、hostname
、password
、localFile
和remoteDir
替換為你實(shí)際的值。
如果你需要在復(fù)制的文件中添加注釋,你需要先修改本地的文件,然后再進(jìn)行文件傳輸。這將取決于文件的類型和格式。例如,如果這是一個(gè)文本文件,你可以直接在文件中添加你的注釋。
另外,這段代碼中沒有提供詳細(xì)的錯(cuò)誤處理邏輯,你可能需要根據(jù)你的實(shí)際需求添加適當(dāng)?shù)腻e(cuò)誤處理代碼。文章來源:http://www.zghlxwxcb.cn/news/detail-670442.html
注意:JSch
的ChannelSftp.put
方法會(huì)覆蓋遠(yuǎn)程服務(wù)器上的同名文件,如果你不希望覆蓋原有文件,請自行添加邏輯進(jìn)行檢查。文章來源地址http://www.zghlxwxcb.cn/news/detail-670442.html
到了這里,關(guān)于Java中將本服務(wù)器的文件拷貝到另一個(gè)服務(wù)器(Windows to Linux)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!