javaで複数のファイルを同時にサーバーにアップロードする

バッチでサーバーにファイルをアップロードするには、JavaのFTPクライアントライブラリを使用できます。以下に、Apache Commons Netライブラリを使用したサンプルコードを示します。

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class FTPUploader {
    private static final String SERVER = "ftp.example.com";
    private static final int PORT = 21;
    private static final String USERNAME = "username";
    private static final String PASSWORD = "password";

    public static void main(String[] args) {
        FTPClient ftpClient = new FTPClient();
        try {
            ftpClient.connect(SERVER, PORT);
            ftpClient.login(USERNAME, PASSWORD);

            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
            ftpClient.enterLocalPassiveMode();

            File directory = new File("path/to/directory");
            File[] files = directory.listFiles();

            if (files != null) {
                for (File file : files) {
                    if (file.isFile()) {
                        String remoteFile = file.getName();
                        FileInputStream inputStream = new FileInputStream(file);

                        ftpClient.storeFile(remoteFile, inputStream);
                        inputStream.close();

                        System.out.println("Uploaded file: " + remoteFile);
                    }
                }
            }

            ftpClient.logout();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                ftpClient.disconnect();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

コード内で以下の変数の値を置換する必要があります:

  1. FTPサーバーのアドレス
  2. PORT:FTPサーバーのポート番号
  3. FTPログインユーザ名
  4. パスワード:FTPログインパスワード
  5. アップロードするファイルのあるローカルディレクトリへのパス

FTPクライアントのインスタンスが作成され、Connectメソッドを使用してFTPサーバーに接続します。その後、ログインメソッドを使用してログインが実行されます。次に、ファイル転送タイプがバイナリに設定され、ローカルの受動モードが開始されます。その後、listFilesメソッドを使用してローカルディレクトリ内のファイルのリストを取得します。各ファイルに対して、storeFileメソッドを使用してファイルをサーバーにアップロードし、closeメソッドを使用してファイルストリームが閉じられます。最後に、ログアウトメソッドを使用してログアウトが実行され、サーバーとの接続が切断されます。

bannerAds