Javaでファイル転送機能を実装の方法
Socketプログラミングを使ってJavaからファイル転送を行うことができます。簡単なサンプルコードは次の通りです。
- サーバー側のコード:
import java.io.*;
import java.net.*;
public class FileServer {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8888);
Socket socket = serverSocket.accept();
InputStream in = socket.getInputStream();
FileOutputStream out = new FileOutputStream("output.txt");
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead);
}
out.close();
in.close();
socket.close();
serverSocket.close();
}
}
- クライアント側コード:
import java.io.*;
import java.net.*;
public class FileClient {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("localhost", 8888);
File file = new File("input.txt");
FileInputStream in = new FileInputStream(file);
OutputStream out = socket.getOutputStream();
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead);
}
out.close();
in.close();
socket.close();
}
}
上記のコードでは、サーバー側でクライアントから送信されたファイルを output.txt に保存する、シンプルなファイル転送機能を実装しています。ただし、実際には予期せぬ状況が発生する可能性もあるため、より多くの例外を処理し、ファイル転送の安全性と効率性を検討する必要があります。