Java获取事件的大小。getDragboard()。getFiles()。流()。映射(文件::长度)。toString());
我想知道我文件的大小:
event.getDragboard().getFiles().stream().map(File::getName).collect(Collectors.joining("\n")),
event.getDragboard().getFiles().stream().map(File::getPath).collect(Collectors.joining("\n")),
event.getDragboard().getFiles().stream().map(File::length).toString());
问题是,我得到了正确的名称和路径,但没有大小:
java.util.stream.ReferencePipeline$3@5b41d7e4
# 1 楼答案
致电:
您正在将
Stream<Long>
转换为String
实际上,您想要的是将流中的每个
Long
转换为String
,然后像使用路径或名称一样连接它们如何将
Stream<Long>
转换为String
函数
String.valueOf()
接受一个Long
并返回它的String
表示,因此我们可以使用这个函数从Long
转换为String
如何将
Stream<Long>
转换为Long
如果您想获得流中所有
Long
中的sum
[1],可以使用LongStream
的sum
函数通过调用
mapToLong
,我们将Stream<Long>
转换为LongStream
[1]https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/stream/LongStream.html#sum()