Java でオフライン ファイル転送を実装する方法
Socketプログラミングを使用して、オフラインでのJavaファイル転送を実現できます。以下に、オフラインファイル転送の簡単なサンプルコードを示します。
サーバサイドのコード:
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("等待客户端连接...");
Socket socket = serverSocket.accept();
System.out.println("客户端已连接");
// 接收文件
InputStream in = socket.getInputStream();
FileOutputStream out = new FileOutputStream("file.txt");
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
out.close();
in.close();
System.out.println("文件接收完成");
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
クライアント側コード:
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 8888);
// 发送文件
File file = new File("file.txt");
FileInputStream in = new FileInputStream(file);
OutputStream out = socket.getOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
out.close();
in.close();
System.out.println("文件发送完成");
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
このコードでは、サーバー側はServerSocketを使って指定のポートを監視し、クライアント側はSocketを使ってサーバー側に接続します。クライアント側はファイルをバイトストリームとして読み取り、Socketの出力ストリームを介してサーバー側に送信します。サーバー側はデータを受信してファイルに書き込みます。