当前位置: 首页 > 知识库问答 >
问题:

Java 8流到文件[副本]

阴凯歌
2023-03-14

共有1个答案

汪建德
2023-03-14

可能最短的方法是使用文件。write以及将转换为可迭代的技巧:

Files.write(Paths.get(filePath), (Iterable<String>)stream::iterator);

例如:

Files.write(Paths.get("/tmp/numbers.txt"),
     (Iterable<String>)IntStream.range(0, 5000).mapToObj(String::valueOf)::iterator);

如果它看起来太俗气,请使用更明确的方法:

try(PrintWriter pw = new PrintWriter(Files.newBufferedWriter(
                     Paths.get("/tmp/numbers.txt")))) {
    IntStream.range(0, 5000).mapToObj(String::valueOf).forEach(pw::println);
}
 类似资料:
  • 问题内容: 假设我有一个Java8 ,并且使用了该流,那么如何控制流中使用的s 的关闭? 请注意,我可能无权访问个人,例如: 在进行了其他一些映射等之后,我终于在续集中失去了。 我首先认为垃圾收集器可以在需要时执行此操作,但是当它很长时,我已经经历了OS描述符耗尽。 问题答案: 关于使用FileReader的一般注意事项:FileReader在内部使用FileInputStream,它会覆盖并且因

  • 但这是不对的,我不确定如何将maxCnt合并到流中。

  • 问题内容: 假设我有一个对象,带有一些不错的方法: 将这个流写入文件 的 最短/最优雅的解决方案是 什么,每个流元素一行? 对于读取来说,有一个不错的方法,因此我认为必须有一种对称的方法可以写入文件,但是找不到。 只需要一个迭代。 问题答案: 也许最短的方法是使用与沿招其转换为: 例如: 如果看起来过于骇客,请使用更明确的方法: 如果您有一些自定义对象流,则始终可以添加步骤以应用该方法。

  • 我是Java8的新手,不能使用流将一个数组映射到另一个二维数组。 和包含键的第二个数组。 0表示:从模式中取0元素 1表示:从模式中取1元素,以此类推 从这两个数组中,我想生成另一个二维数组。在这种情况下,结果如下所示: 请帮忙

  • 阅读Java8的并行流API:https://docs.oracle.com/javase/tutorial/collections/streams/parallelism.html 还不清楚在使用这个流式API的并行性时,如何调优要使用的线程数? 计划在一个非常特定的机器类型和一致的数据类型上运行它,所以我想我可以在一组不同的设置上对它进行基准测试,然后使用最佳数量的线程。