我在检索AWS S3中文件夹内的所有对象(文件名)时遇到问题.这是我的代码:
ListObjectsRequest listObjectsRequest = new ListObjectsRequest()
.withBucketName(bucket)
.withPrefix(folderName + "/")
.withMarker(folderName + "/")
ObjectListing objectListing = amazonWebService.s3.listObjects(listObjectsRequest)
for (S3ObjectSummary summary : objectListing.getObjectSummaries()) {
print summary.getKey()
}
Run Code Online (Sandbox Code Playgroud)
它返回正确的对象但是带有前缀,例如foldename/filename
我知道我可以使用java或substring来排除前缀,但我只想知道AWS SDK中是否有方法.
public class Fibonacci {
public static long fib(int n) {
if (n <= 1) return n;
else return fib(n-1) + fib(n-2);
}
public static void main(String[] args) {
int N = Integer.parseInt(args[0]);
for (int i = 1; i <= N; i++)
System.out.println(i + ": " + fib(i));
}
}
Run Code Online (Sandbox Code Playgroud)
假设用户输入"java Fibonacci 7",结果将如下所示:1:1
2:1
3:2
4:3
5:5
6:8
7:13
我似乎完全混淆了它的工作原理.从数字3开始.当fib(i)方法通过3时,它不应该返回3,因为如果n = 3那么fib(n-1)/的总和是2 /和fib(n-2)/1 /是3.等等其他数字前进.
我对构建对象类型有点困惑.鉴于以下示例:
public class Test() {
public void method1() { System.out.println("Method 1");
public void method2() { System.out.println("Method 2");
}
public class Test1() extends Test{
@Override public void method1() { System.out.println("Method 11");
@Override public void method2() { System.out.println("Method 22");
public void method 3() { System.out.println("Method 3");
public static void main(String[] args) {
Test a = new Test1();
a.method1(); //method invokes the overridden method1() of Test1, not Test the superclass
a.method2(); //method invokes the overridden method2() of Test1, not Test the superclass
a.method3(); …Run Code Online (Sandbox Code Playgroud) 我目前正在观看视频教程,我对这段代码感到非常困惑:
public static boolean insert(Member mbr) throws Exception {
String SQL = "INSERT INTO test (first_name, last_name) " +
"VALUES (?, ?)";
ResultSet keys = null;
try (
Connection con = DBUtil.getConnection(DBType.MYSQL);
PreparedStatement stmt = con.prepareStatement(SQL, Statement.RETURN_GENERATED_KEYS);
) {
stmt.setString(1, mbr.getFname());
stmt.setString(2, mbr.getLname());
int affected = stmt.executeUpdate();
if (affected == 1) {
keys = stmt.getGeneratedKeys();
keys.next();
int newKey = keys.getInt(1);
mbr.setMemberid(newKey);
} else {
System.err.println("No rows affected");
return false;
}
} finally {
if (keys != null) keys.close();
}
return …Run Code Online (Sandbox Code Playgroud)