标签: apache-commons

如何使用 DurationFormatUtils 类获得所需格式的结果?

我有一个以毫秒为单位的时间戳,我想将其转换为小时、分钟、秒,但仅采用以下格式:

20hrs 10mins 50sec
Run Code Online (Sandbox Code Playgroud)

我想提出一些更好的读取数据的格式,因此决定使用上面的格式。到目前为止,我正在使用DurationFormatUtilsApache Commons 中的类以这种格式提供结果:HH:mm:ss,SSS

DurationFormatUtils.formatDuration(durationForStep, "HH:mm:ss,SSS")
Run Code Online (Sandbox Code Playgroud)

有什么方法可以DurationFormatUtils只使用类来获得上述格式的结果吗?如果不是,那么我认为手工工作将是我猜的唯一其他选择?

java apache-commons

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

缺少 org.apache.commons.collections.CollectionUtils

我导入 commons-lang3 如下:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

但我在包 org.apache.commons.lang3 中找不到子包集合

在此输入图像描述

apache-commons maven

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

如何使用支持 Zip64 的 ScatterZipOutputStream 实现并行 Zip 创建?

我想知道是否有人可以帮助使用 ScatterZipOutputStream 实现并行 Zip 创建。我已经搜索了很多,但没有找到相同的示例。

https://commons.apache.org/proper/commons-compress/zip.html

我尝试使用 ZipArchiveOutputStream 制作 Zip、压缩目录等。现在,我正在尝试同时做到这一点。

public static void makeZip(String filename) throws IOException,
        ArchiveException {
    File sourceFile = new File(filename);

    final OutputStream out = new FileOutputStream(filename.substring(0, filename.lastIndexOf('.')) + ".zip");
    ZipArchiveOutputStream os = new ZipArchiveOutputStream(out);
    os.setUseZip64(Zip64Mode.AsNeeded);

    os.putArchiveEntry(new ZipArchiveEntry(sourceFile.getName()));
    IOUtils.copy(new FileInputStream(sourceFile), os);
    os.closeArchiveEntry();
    os.close();
}
Run Code Online (Sandbox Code Playgroud)

它应该能够作为线程处理单个文件,然后将其组合起来写入结果 zip。

java parallel-processing zip apache-commons jakarta-ee

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

是否有一个实用的方法来按给定的字符串分隔列表?

是否有类似以下的内容Apache Common Lang或者Spring Utils您是否为此编写了自己的Util方法?

List<String> list = new ArrayList<String>();
list.add("moo");
list.add("foo");
list.add("bar");

String enumeratedList = Util.enumerate(list, ", ");

assert enumeratedList == "moo, foo, bar";
Run Code Online (Sandbox Code Playgroud)

我记得implode在php中使用,这就是我搜索java的内容.

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
Run Code Online (Sandbox Code Playgroud)

java apache-commons utility-method

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

使用DurationFormatUtils以一种很好的方式格式化句点

这非常有效:

out.println(DurationFormatUtils.formatPeriod(
                        new Date().getTime(),
                        match.getStartingTime().getTime(),
                        "d H"));
Run Code Online (Sandbox Code Playgroud)

但现在我希望有一些更好的格式

out.println(DurationFormatUtils.formatPeriod(
                        new Date().getTime(),
                        match.getStartingTime().getTime(),
                        "d days H hours left"));
Run Code Online (Sandbox Code Playgroud)

但正如所预期的那样,输出为

45 a01101 4小时110左

这个问题有一个简单的解决方案吗?

java apache-commons

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

Java HtmlUnit onchange事件未触发

我使用HtmlUnit填写表单.我有一个选择SELECT_A.选择选项后,其他元素必须出现在页面中.但它不起作用!我模拟Firefox 3.6.

你怎么看?

我尝试使用,NicelyResynchronizingAjaxController()但它没有帮助.

谢谢!

java apache-commons htmlunit dom-events

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

Commons FTPClient在上传大文件后挂起

我正在使用Apache Commons FTPClient 3.1来进行简单的文件上传.storefile()适用于较小尺寸(小于100MB)的文件,但是当我尝试上传大于100MB的内容时,它会完成上传但只是挂起.

我试过像其他人建议的那样进入被动模式,但它似乎没有解决问题.我尝试过多个具有相同结果的FTP服务器,所以我猜它不是主机.

这是我正在做的事情的要点:

ftpClient.connect(...);
ftpClient.login(...);
ftpClient.enterLocalPassiveMode();
boolean success = ftpClient.storeFile(...);
if(success)
...
Run Code Online (Sandbox Code Playgroud)

对于大文件,程序在第4行挂起,但是成功上传了该文件.

java apache upload ftp-client apache-commons

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

无法弄清楚这些C#和Java代码的不同之处

我有一些C#代码将图像转换为base64字符串.代码是:

MemoryStream ms = new MemoryStream();
Image img = Image.FromFile(filename);
img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
string s = Convert.ToBase64String(ms.GetBuffer());
Run Code Online (Sandbox Code Playgroud)

我试图用JAVA实现它.我的java代码是:

BufferedImage img = null;
img = ImageIO.read(new File(filename));
byte[] bytes = ((DataBufferByte)img.getData().getDataBuffer()).getData();
String js = Base64.encodeBase64String(bytes);
Run Code Online (Sandbox Code Playgroud)

这两段代码应为同一图像文件返回相同的字符串.但他们正在返回不同的字符串.我无法弄清楚原因.任何人都可以对此有所了解吗?

c# java apache-commons

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

根据Java中的元素属性将列表拆分为多个子列表

有没有办法将列表拆分为多个列表?根据元素的特定条件将列表分成两个或多个列表.

final List<AnswerRow> answerRows= getAnswerRows(.........);
final AnswerCollection answerCollections = new AnswerCollection();
answerCollections.addAll(answerRows);

The AnswerRow has properties like rowId, collectionId
Run Code Online (Sandbox Code Playgroud)

基于collectionId我想创建一个或多个AnswerCollections

java collections apache-commons

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

具有重复列标题的Apache CSV解析器

我需要处理具有重复标题的CSV文件,每个数据分为三列(min,max和avg),但每列的标题相同.第一列是min,第二列是average,第三列是max.

Apache CSV解析器抛出:

java.lang.IllegalArgumentException: The header contains a duplicate name:
Run Code Online (Sandbox Code Playgroud)

如何配置解析器以接受重复的标头?

csv apache-commons

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