要實現將文件上傳至云主機,可以使用Java中的Socket編程來實現。下面是一個簡單的示例代碼:
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.Socket;
public class FileUploader {
public static void main(String[] args) {
String host = "云主機IP地址";
int port = 12345;
String filePath = "要上傳的文件路徑";
File file = new File(filePath);
try (Socket socket = new Socket(host, port);
BufferedOutputStream out = new BufferedOutputStream(socket.getOutputStream());
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file))) {
// 發送文件名和文件大小
out.write((file.getName() + "\n").getBytes());
out.flush();
out.write((file.length() + "\n").getBytes());
out.flush();
// 上傳文件內容
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead);
out.flush();
}
System.out.println("文件上傳成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}
請將代碼中的云主機IP地址
替換為實際的云主機IP地址,要上傳的文件路徑
替換為實際要上傳的文件的路徑。
該示例代碼通過Socket與云主機建立連接,并將文件名和文件大小發送給云主機,然后逐塊讀取文件內容并發送給云主機,完成文件上傳操作。