要將文件傳輸?shù)搅硪粋€(gè)服務(wù)器,你可以使用Java中的Socket類進(jìn)行網(wǎng)絡(luò)通信。以下是一個(gè)示例代碼,展示了如何使用Socket傳輸文件:
import java.io.*;
import java.net.Socket;
public class FileTransferClient {
public static void main(String[] args) {
String serverIP = "目標(biāo)服務(wù)器IP地址";
int serverPort = 1234;
String filePath = "要傳輸?shù)奈募窂?quot;;
try {
Socket socket = new Socket(serverIP, serverPort);
// 獲取輸入流
FileInputStream fileInputStream = new FileInputStream(filePath);
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
// 獲取輸出流
OutputStream outputStream = socket.getOutputStream();
// 創(chuàng)建緩沖區(qū)
byte[] buffer = new byte[1024];
int bytesRead;
// 從輸入流讀取數(shù)據(jù),并寫入輸出流
while ((bytesRead = bufferedInputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
// 關(guān)閉流
bufferedInputStream.close();
outputStream.close();
socket.close();
System.out.println("文件傳輸完成");
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的示例代碼中,你需要替換serverIP
為目標(biāo)服務(wù)器的IP地址,serverPort
為目標(biāo)服務(wù)器的端口號(hào),以及filePath
為要傳輸?shù)奈募穆窂健?/p>
然后在目標(biāo)服務(wù)器上,你可以使用類似的代碼來接收文件:
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class FileTransferServer {
public static void main(String[] args) {
int serverPort = 1234;
String savePath = "保存文件的路徑";
try {
ServerSocket serverSocket = new ServerSocket(serverPort);
System.out.println("服務(wù)器已啟動(dòng),等待連接...");
Socket socket = serverSocket.accept();
// 獲取輸入流
InputStream inputStream = socket.getInputStream();
// 創(chuàng)建輸出流
FileOutputStream fileOutputStream = new FileOutputStream(savePath);
// 創(chuàng)建緩沖區(qū)
byte[] buffer = new byte[1024];
int bytesRead;
// 從輸入流讀取數(shù)據(jù),并寫入輸出流
while ((bytesRead = inputStream.read(buffer)) != -1) {
fileOutputStream.write(buffer, 0, bytesRead);
}
// 關(guān)閉流
fileOutputStream.close();
inputStream.close();
socket.close();
serverSocket.close();
System.out.println("文件接收完成");
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的示例代碼中,你需要替換serverPort
為服務(wù)器綁定的端口號(hào),以及savePath
為文件保存的路徑。
這樣,當(dāng)你運(yùn)行FileTransferClient
時(shí),它將會(huì)將文件傳輸?shù)侥繕?biāo)服務(wù)器上,目標(biāo)服務(wù)器上的FileTransferServer
會(huì)接收文件并保存到指定的路徑。