fix file listing

This commit is contained in:
Page Asgardius 2022-11-25 14:01:34 -07:00
parent f3bc84f956
commit 067a59e44a

View file

@ -104,7 +104,12 @@ public class ObjectSelect extends AppCompatActivity {
try { try {
//Your code goes here //Your code goes here
//List<Bucket> buckets = s3client.listBuckets(); //List<Bucket> buckets = s3client.listBuckets();
ListObjectsRequest orequest = new ListObjectsRequest().withBucketName(bucket).withPrefix(prefix).withMaxKeys(8000); ListObjectsRequest orequest;
if (treelevel == 0) {
orequest = new ListObjectsRequest().withBucketName(bucket).withMaxKeys(8000).withDelimiter("/");
} else {
orequest = new ListObjectsRequest().withBucketName(bucket).withPrefix(prefix).withMaxKeys(8000).withDelimiter("/");
}
//List<S3Object> objects = (List<S3Object>) s3client.listObjects(bucket, "/"); //List<S3Object> objects = (List<S3Object>) s3client.listObjects(bucket, "/");
ObjectListing result = s3client.listObjects(orequest); ObjectListing result = s3client.listObjects(orequest);
//System.out.println(objects); //System.out.println(objects);
@ -114,8 +119,38 @@ public class ObjectSelect extends AppCompatActivity {
// Print bucket names // Print bucket names
//System.out.println("Buckets:"); //System.out.println("Buckets:");
//int i=0; //int i=0;
List<S3ObjectSummary> objects = result.getObjectSummaries(); //This get folder list
for (S3ObjectSummary os : objects) { List<String> od = result.getCommonPrefixes();
for (String os : od) {
filename = os.split("/");
if (filename.length == treelevel+1) {
object.add(filename[treelevel]+"/");
}
else {
}
//i++;
}
while (result.isTruncated()) {
result = s3client.listNextBatchOfObjects (result);
od = result.getCommonPrefixes();
for (String os : od) {
filename = os.split("/");
if (filename.length == treelevel+1) {
object.add(filename[treelevel]+"/");
}
else {
}
//i++;
}
}
//This get file list
List<S3ObjectSummary> ob = result.getObjectSummaries();
for (S3ObjectSummary os : ob) {
filename = os.getKey().split("/"); filename = os.getKey().split("/");
if (filename.length == treelevel+1) { if (filename.length == treelevel+1) {
object.add(filename[treelevel]); object.add(filename[treelevel]);
@ -128,8 +163,8 @@ public class ObjectSelect extends AppCompatActivity {
} }
while (result.isTruncated()) { while (result.isTruncated()) {
result = s3client.listNextBatchOfObjects (result); result = s3client.listNextBatchOfObjects (result);
objects = result.getObjectSummaries(); ob = result.getObjectSummaries();
for (S3ObjectSummary os : objects) { for (S3ObjectSummary os : ob) {
filename = os.getKey().split("/"); filename = os.getKey().split("/");
if (filename.length == treelevel+1) { if (filename.length == treelevel+1) {
object.add(filename[treelevel]); object.add(filename[treelevel]);