jarの導入(maven)
pom.xml

    <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-s3</artifactId>
            <version>1.11.112</version>
    </dependency>

定数の宣言

    static final String S3_ACCESS_KEY           = "";
    static final String S3_SECRET_KEY           = "";
    static final String S3_SERVICE_END_POINT    = "";
    static final String S3_REGION               = "";
    static final String S3_BUCKET_NAME          = "";

認証処理

    // 認証処理
    private static AmazonS3 auth(){
        System.out.println("auth start");

        // AWSの認証情報
        AWSCredentials credentials = new BasicAWSCredentials(S3_ACCESS_KEY, S3_SECRET_KEY);

        // クライアント設定
        ClientConfiguration clientConfig = new ClientConfiguration();
        clientConfig.setProxyHost("[proxyHost]");
        clientConfig.setProxyPort([portNo]);

        // エンドポイント設定
        EndpointConfiguration endpointConfiguration = new EndpointConfiguration(S3_SERVICE_END_POINT,  S3_REGION);

        // S3アクセスクライアントの生成
        AmazonS3 client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(credentials))
                .withClientConfiguration(clientConfig)
                .withEndpointConfiguration(endpointConfiguration).build();

        System.out.println("auth end");
        return client;
    }

アップロード処理
java
// アップロード処理
private static void upload() throws Exception{
System.out.println(“upload start”);

// 認証処理
AmazonS3 client = auth();

File file = new File(“[アップロードファイルパス]”);
FileInputStream fis = new FileInputStream(file);

ObjectMetadata om = new ObjectMetadata();
om.setContentLength(file.length());

final PutObjectRequest putRequest = new PutObjectRequest(S3_BUCKET_NAME, file.getName(), fis, om);

// 権限の設定
putRequest.setCannedAcl(CannedAccessControlList.PublicRead);

// アップロード
client.putObject(putRequest);

fis.close();

System.out.println(“upload end”);
}
ダウンロード処理
java
// ダウンロード処理
private static void download() throws Exception{
System.out.println(“download start”);

// 認証処理
AmazonS3 client = auth();

final GetObjectRequest getRequest = new GetObjectRequest(S3_BUCKET_NAME, “[ダウンロードファイル名”);

S3Object object = client.getObject(getRequest);

FileOutputStream fos = new FileOutputStream(new File(“[出力先パス]”));
IOUtils.copy(object.getObjectContent(), fos);

fos.close();

System.out.println(“download end”);
}