小编Mar*_*eel的帖子

如何使用 Java AWS SDK 压缩 S3 存储桶中的对象

我对 Amazon S3 还很陌生,正在使用 S3 进行一些工作。我已经使用 Java 将许多文件上传到 S3 存储桶。我在 S3 中有一些名称类似于 Demo/demo1.txt、Demo/demo2.txt、Demo/demo3.txt 的对象。我有近 1000 个单独的文件,直到 Demo/ 下的 demo1000.txt。我已经使用下面的代码从 Java 上传了它们

s3Client.upload(bucketName, inputStream, objectKey, ObjectMetaData);
Run Code Online (Sandbox Code Playgroud)

如何使用适用于 Java 的 AWS API 将包含这 1000 个文件的整个演示/对象压缩到 S3 本身中?

java amazon-s3 amazon-web-services aws-s3-client

-1
推荐指数
1
解决办法
382
查看次数

在for循环中缺少return语句

我试图找出一个数字是否是素数.我创建了这个方法,稍后我将在另一个类中使用它.

编译时它告诉我在for循环之外需要一个return语句,但如果我尝试返回布尔值,它会给我一个错误(找不到符号).我该怎么回事?

public class NumeroPrimo {
    public static boolean primo(int numero){
        for (int i=2; i<numero/2; i++){
            if(numero%i==0){
                return false;
            }
            else return true;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java

-2
推荐指数
1
解决办法
65
查看次数

java reflection constructor.newInstance给出"错误的参数个数"

如何解决我的代码?

package mypackage;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;

public class testReflection {
    public class You {
        public You(String s) {
        }

        public void f(String s, int i) {
            System.out.println(i + 100);
        }
    }

    public static void main(String[] args) throws NoSuchMethodException {
        Constructor constructor =
                You.class.getConstructor(testReflection.class, String.class);
        try {
            You y = (You)constructor.newInstance("xzy");//Exception!!!!
            System.out.println("ok");
            y.f("xyz",2);
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

异常消息是:

java.lang.IllegalArgumentException: wrong number of arguments
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) …
Run Code Online (Sandbox Code Playgroud)

java reflection constructor

-2
推荐指数
1
解决办法
325
查看次数

System.lineSeparator() 在 Linux 环境中不起作用

我使用 Java 8 和 Spring API 编写邮件正文,如下所示。

        StringBuilder emailTemplateForNewPassword = new StringBuilder();
        emailTemplateForNewPassword.append("Dear User,");

        emailTemplateForNewPassword.append(System.lineSeparator());
        emailTemplateForNewPassword.append(System.lineSeparator());

        emailTemplateForNewPassword.append("Sample Mail.");

        emailTemplateForNewPassword.append(System.lineSeparator());
        emailTemplateForNewPassword.append(System.lineSeparator());

        emailTemplateForNewPassword.append("Yours Faityfully,");
        emailTemplateForNewPassword.append(System.lineSeparator());
        emailTemplateForNewPassword.append("ABC.Com");
        emailTemplateForNewPassword.append(System.lineSeparator());
        emailTemplateForNewPassword.append("0094778999658");
Run Code Online (Sandbox Code Playgroud)

预期结果:

亲爱的用户,

样本邮件。

此致
ABC.Com
0094778999658

实际结果:

亲爱的用户,

样本邮件。

此致 ABC.Com 0094778999658

我不确定为什么最后 3 行出现在同一行,即使我使用过System.lineSeparator()

我已经尝试过"\r\n"但没有运气。

任何人都可以建议出什么问题吗?

我知道还有其他与此相关的问题,但它们都不能解决我的问题。在我找到答案之前请不要沮丧这个问题。

java spring

-2
推荐指数
1
解决办法
1640
查看次数

是否可以在javascript数组中同时设置唯一索引和值

我正在尝试制作多维数组,但是我找不到一种同时设置唯一索引和值的方法,例如PHP中的方法。

$Countries = array(
    "America" => array(
         "Delaware" => array(
             "Population" => "967.171 (2018)", "KM2" => "6.446"
         )
    )
);
Run Code Online (Sandbox Code Playgroud)

而且我试图在javascript中做同样的事情,但是无法正常工作。

var Countries = [
    "America" => [
        "Delaware" => [
            "Population" => "967.171 (2018)", "KM2" => "6.446"
        ]
    ]
];
Run Code Online (Sandbox Code Playgroud)

我也曾尝试=>= :和代替->,但它们都不起作用,所以我会死胡同吗?

javascript arrays object

-2
推荐指数
2
解决办法
44
查看次数

为什么我们不能在类中为方法添加默认值

如果我们没有在默认情况下向方法添加任何访问说明符,则它是默认类型。

但是我们添加了default关键字然后它给了我错误,就像我们只能在接口中使用默认方法一样。我知道函数式接口中的默认方法,但奇怪为什么它在 eclipse 中显示错误。

public class Test
{
    
    default void test() { //Default methods are allowed only in interfaces.
        
    }
}
Run Code Online (Sandbox Code Playgroud)

这个工作正常

public class Test
{
    void test()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

有什么理由吗?

java java-8

-2
推荐指数
1
解决办法
86
查看次数

如何将for循环转换为流?

我将如何使用流来实现与下面相同的结果?我试图通过首先迭代 TickQueue (队列实现)并对 tot 求和,然后除以计数器值来找到平均值,从而找到此“tot”值的平均值。

int counter = 0;
double tot = 0;

for (Tick t: TickQueue)
{
    if ((t.getAskPrice() == 0 && t.getBidPrice() == 0) || (t.getAskPrice() == 0) || (t.getBidPrice() == 0))
    {
        tot += 0;
    }
    else
    {
        tot += (t.getAskPrice() - t.getBidPrice());
        counter++;
    }
}

double avg = tot/counter;
Run Code Online (Sandbox Code Playgroud)

java collections loops java-stream

-2
推荐指数
1
解决办法
88
查看次数

我应该在 C++ 中始终使用 new 运算符而不是 malloc 函数吗?

struct A
{
 string st;
};

int main()
{
 A *a = (A *)malloc(sizeof(A));
 a->st = "print";

 cout << a->st;
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我使用这种方式并成功编译时,但之后在运行时出现异常。所以,我发现一件事是A *a = new A;代替A *a = (A *)malloc(sizeof(A));。做这种事情哪种方法更好而且不会出错?

运行时内存分配应该怎么做?

c++ malloc new-operator

-2
推荐指数
1
解决办法
198
查看次数

是否有可能跳过finally块并继续其余代码

我试过System.exit(0)但是既不执行finally块也不执行其余代码.

还尝试过return执行finally块但不执行其余代码

private static void testMethod() {
    try {
        System.out.println("try Block");
        // Skip Finally Block.
        //return; 
        // System.exit(0);
    } catch (Exception e) {
        System.out.println("catch Block");
    } finally {
        System.out.println("Finally Block");
    }
    System.out.println("After Finally Block.");
}
Run Code Online (Sandbox Code Playgroud)

输出应该是

try Block
After Finally Block.
Run Code Online (Sandbox Code Playgroud)

要么

try Block
catch Block
After Finally Block.
Run Code Online (Sandbox Code Playgroud)

java

-3
推荐指数
1
解决办法
62
查看次数

cout没有打印到终端屏幕C++

我正在运行.cpp文件并尝试打印到屏幕以进行调试,但是我的消息没有出现.我正在使用以下命令从Linux终端运行我的程序:

g++ -m32 -static genConfig.cpp -o genConfig
Run Code Online (Sandbox Code Playgroud)

我的.cpp文件此时应该执行的所有操作都是对终端的响应,如下所示.但是输出不会出现.

#include <string>

using namespace std;

int main(int argc, char ** argv) {

    cout<<"HEYYYA";

}
Run Code Online (Sandbox Code Playgroud)

c++

-3
推荐指数
1
解决办法
240
查看次数