Javaでファイル転送機能を実装の方法

Socketプログラミングを使ってJavaからファイル転送を行うことができます。簡単なサンプルコードは次の通りです。

  1. サーバー側のコード:
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();
    }
}
  1. クライアント側コード:
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 に保存する、シンプルなファイル転送機能を実装しています。ただし、実際には予期せぬ状況が発生する可能性もあるため、より多くの例外を処理し、ファイル転送の安全性と効率性を検討する必要があります。

bannerAds