一个简单的 Java 应用程序,演示了 AWS SDK 的 Java 使用。
maven
aws_access_key_id = <您的访问密钥id>
aws_secret_access_key = <您的密钥>
4.0.0
com.lifeCycle.spark
demo01
1.0-SNAPSHOT
aws-java-sample
http://aws.amazon.com/sdkforjava
UTF-8
com.amazonaws
aws-java-sdk
1.11.636
${env.HOME}/.aws/
org.codehaus.mojo
exec-maven-plugin
1.2.1
java
com.amazonaws.samples.S3Sample
org.apache.maven.plugins
maven-compiler-plugin
3.6.1
1.8
1.8
// 创建桶
public static void main(String[] args) {
// 创建 s3 对象
AmazonS3 s3 = new AmazonS3Client();
// 设置区域 ( 我们使用的是宁夏区域 )
s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1));
// 桶的名字
String bucketName = "sflfirst" + UUID.randomUUID();
// 设置 k
String key = "sflfirst";
s3.createBucket(bucketName);
System.out.println("创建成功");
}
// 桶列表
public static void main(String[] args) {
// 创建 s3 对象
AmazonS3 s3 = new AmazonS3Client();
// 设置区域 ( 我们使用的是宁夏区域 )
s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1));
for (Bucket bucket : s3.listBuckets()) {
System.out.println(" - " + bucket.getName());
}
}
// 上传文件到桶中
public static void main(String[] args) {
//创建 s3 对象
AmazonS3 s3 = new AmazonS3Client();
// 设置区域 ( 我们使用的是宁夏区域 )
s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1));
// 上传文件到桶中
File file = new File("C:\\Users\\86182\\Desktop\\问题.txt");
// 桶名,文件夹名,本地问价路径
s3.putObject("demo02", "wenti", file);
System.out.println("上传成功...");
}
// 列出桶中所有对象,并且看到文件夹中的文件
public static void main(String[] args) {
// 创建 s3 对象
AmazonS3 s3 = new AmazonS3Client();
// 设置区域 ( 我们使用的是宁夏区域 )
s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1));
// 文件夹名字 :
ObjectListing objects = s3.listObjects("demo02");
do
{
for (S3ObjectSummary objectSummary : objects.getObjectSummaries())
{
System.out.println("Object: " + objectSummary.getKey());
}
objects = s3.listNextBatchOfObjects(objects);
} while (objects.isTruncated());
}
// 上传文件到文件夹中
public static void main(String[] args) {
// 创建 s3 对象
AmazonS3 s3 = new AmazonS3Client();
// 设置区域 ( 我们使用的是宁夏区域 )
s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1));
// 上传文件到桶中
File file = new File("C:\\Users\\86182\\Desktop\\问题.txt");
// 桶名,文件夹名,本地问价路径
s3.putObject("demo02", "img/wenti", file);
System.out.println("上传成功...");
}
// 文件下载
publicstatic void main(String[] args) throws IOException {
// 创建 s3 对象
AmazonS3 s3 = new AmazonS3Client();
// 设置区域 ( 我们使用的是宁夏区域 )
s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1));
// 下载文件 ( 桶名,文件夹名+文件名 )
S3Object object = s3.getObject(new GetObjectRequest("demo02", "img/wenti"));
// 得到输入流
S3ObjectInputStream input = object.getObjectContent();
// 转换成字符流
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
// 自定义输出流
PrintWriter pw = new PrintWriter("C:\\Users\\86182\\Desktop\\s3inputfile\\myfile.txt");
// 读这个流
while (true) {
String line = reader.readLine();
if (line == null) break;
pw.println(line);
}
System.out.println("写入成功...");
reader.close();
pw.close();
}
ObjectListing objectListing = s3.listObjects(new ListObjectsRequest()
.withBucketName(bucketName)
.withPrefix("My"));
for (S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) {
System.out.println(" - " + objectSummary.getKey() + " " +
"(size = " + objectSummary.getSize() + ")");
}
// 删除文件 :
public static void main(String[] args) {
// 创建 s3 对象
AmazonS3 s3 = new AmazonS3Client();
// 设置区域 ( 我们使用的是宁夏区域 )
s3.setRegion(Region.getRegion(Regions.CN_NORTHWEST_1));
// 删除文件
s3.deleteObject("demo02", "img/wenti");
}