小编tes*_*123的帖子

在ObjectListing结果中排除前缀S3的Java客户端

我有一个具有以下层次结构的S3存储桶:

bucketName
    folder1
       file1 
Run Code Online (Sandbox Code Playgroud)

我想从folder1获取所有文件。我尝试执行以下操作:

ObjectListing ol = s3Client.listObjects("bucketName", "folder1"); 
List<S3ObjectSummary> summaries = ol.getObjectSummaries(); 
Run Code Online (Sandbox Code Playgroud)

问题在于摘要包含folder1/folder1/file1。正如我希望得到的那样folder1/file1

环顾互联网,我还尝试了以下操作:

ListObjectsRequest req = new ListObjectsRequest().withBucketBucketName("bucketName").withPrefix("folder1/").withDelimiter("/"); 
Run Code Online (Sandbox Code Playgroud)

但是这次我没有回getObjectSummaries电话的结果。当我删除withDelimiter从上面我同时获得folder1\folder1\file1背部。

有什么办法可以folder1\file1回来吗?

请告诉我。谢谢!

java amazon amazon-s3 amazon-web-services

5
推荐指数
1
解决办法
2037
查看次数

Java + Joda Time两个日期之间的一周

我希望在Java中获得两个日期范围之间的周数和月数.例如,开始日期:03/01/2012结束日期:03/05/2012

由于这两个日期分为两个不同的星期,我希望结果为2而不是0.

问题的第二部分是:开始日期:02/29/2012结束日期:03/01/2012

介于两者之间的月数应为2.

我一直在网上搜索这个,很多人都推荐在Java中使用Joda Date时间.所以我试了一下.我能够让这几周工作,但我不确定这是否正确.这是我为了获得一周的持续时间而做的事情:

    DateTime s = new DateTime(Long.parseLong("1330573027000")); // 2012-02-29
    DateTime e = new DateTime(Long.parseLong("1331005027000")); // 2012-03-05   

    Weeks weeks = Weeks.weeksBetween(s, e).plus(1);
Run Code Online (Sandbox Code Playgroud)

当我期待2时,这会返回1,因为两个日期在不同的星期.

几个月的持续时间我尝试遵循相同但它返回0但我希望它返回2,因为这两个日期是在两个不同的月份.

有人可以指点我正确的方向吗?

谢谢!

编辑: 我想我有一种做法,请告诉我它是否正确:

    DateTime start = new DateTime(Long.parseLong("1330659427000"));
    DateTime start = new DateTime(Long.parseLong("1331005027000"));

    DateTime finalStart = start.dayOfWeek().withMinimumValue();
    DateTime finalEnd   = end.dayOfWeek().withMaximumValue();
Run Code Online (Sandbox Code Playgroud)

然后得到finalStart和finalEnd之间的区别.这看起来是否正确?

Edit2 更新了结束时间

java jodatime

4
推荐指数
1
解决办法
7597
查看次数

检查是否设置了1到n之间的k中的所有位

我正在博客上阅读一个问题,问题的解决方案是检查"k"中是否设置了1到n位.

对于前者

  • k = 3且n = 2; 然后是"真",因为第1和第2位设置为k

  • k = 3且n = 3; 然后"假",因为k中的第3位未设置

作者提供的解决方案是:

    if (((1 << (n-1)) ^ (k & ((1 << n)-1))) == ((1 << (n-1))-1))
        std::cout<<"true"<<std::endl; 
    else 
        std::cout<<"false"<<std::endl; 
Run Code Online (Sandbox Code Playgroud)

我不确定这里发生了什么.有人可以帮我理解这个吗?

c++ bit-manipulation

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

在取消选中时保留flot legend标签复选框

我有一个场景,我想根据复选框选择切换系列.我已使用图例选项中的labelFormatting将复选框添加到图例中,例如:

     var otherOptions = {
                           legend: {
                                     container: legend,
                                     labelFormatter: function (label, series) {
                                        var cb = '<input type="checkbox" name="' + label + '" checked="checked" id="id' + label + '"> ' + label;
                                        return cb;
                                     }
                            },
                         };  
Run Code Online (Sandbox Code Playgroud)

我已经为图例添加了click事件,以便我可以根据选中的项目操作系列.一切正常,除非我在图例中取消选中标签,在重新绘制时它也会从图例中删除该系列线.所以对于前者,下面是前后图像:

之前

之前

后

请注意,在图像"USA"复选框缺失之后.有什么方法我仍然可以在图例中显示未经检查的"USA"复选框吗?

我看了一下这里的建议:flot graph,使用图例打开/关闭系列

但唯一的问题是我不想将图例和复选框图例分开.关于给定链接的问题是在1年前回答的,所以我想我会抓住机会再次提出问题,以防有人知道这样做的方法.

请告诉我.

谢谢!

javascript jquery graph flot

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

为什么堆非常适合合并排序流?

我正在阅读一些算法书籍并遇到这一行,

Heaps are well suited for algorithms that merge sorted data streams. 
Run Code Online (Sandbox Code Playgroud)

没有给出任何解释为什么会出现这种情况。有人可以帮我解释一下这是为什么吗?

algorithm heap data-structures

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

java中的Custom Generic Collection Trim类

我有一个场景,我想将相同的逻辑应用于不同的类型.

interface TrimAlgo<T> { 
public List<T> trim(List<T> input);
}

class SizeBasedTrim<T> implements TrimAlgo<T> { 
    private final int size;
    public SizeBasedTrim(int size) { 
        this.size = size; 
    }

    @Override 
    public List<T> trim(List<T> input) { 
         // check for error conditions, size < input.size etc. 
         return input.subList(0, size);
    }
} 

// Will have some other type of TrimAlgo

class Test { 
    private TrimAlgo<?> trimAlgo; 
    public Test(TrimAlgo<?> trimAlgo) { 
       this.trimAlgo = trimAlgo; 
    }

    public void callForString() { 
       List<String> testString = new ArrayList<String>(); 
       testString.add("1");
       trimAlgo.trim(testString); // …
Run Code Online (Sandbox Code Playgroud)

java generics collections

0
推荐指数
1
解决办法
461
查看次数

从 S3 存储桶获取最新对象?

我有一个 S3 存储桶,里面有数千个对象。有没有办法从这个存储桶中获取最新的对象(最后创建的)?我正在使用 AWS Java SDK。

请告诉我。

谢谢!

java amazon-s3 amazon-web-services

0
推荐指数
1
解决办法
3859
查看次数