java 文件流读取文本

我已经使用最新的Java8转换了一个旧的实用程序类。 我经常使用它来打印清单文件的内容,以检查任何神秘的jar文件的版本等。只需运行“ java ztools.PrintJar /path/to/my.jar”即可查看输出。 在新代码中,您将看到我如何使用Java 8流处理从Enumeration列表中过滤所需的内容,然后获得可选结果(如果有)。 然后,BufferedReader现在带有“ lines()”方法,该方法也可以进行流传输。 看到Java 8的运行真是太酷了!

package ztools;import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Optional;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;/*** Print text based resource file inside a jar file. (eg: META-INF/MANIFEST.MF)* @author Zemian Deng*/
public class PrintJar {public static void main(String[] args) throws Exception {// Search given name in a jarJarFile jarFile = new JarFile(args[0]);final String searchName = (args.length >= 2) ? args[1] : "META-INF/MANIFEST.MF";Optional<JarEntry> searchResult = jarFile.stream().filter(e -> e.getName().equals(searchName)).findFirst();if (!searchResult.isPresent())throw new RuntimeException(searchName + " not found!");// Print the JarEntryJarEntry entry = searchResult.get();try (InputStream instream = jarFile.getInputStream(entry)) {BufferedReader reader = new BufferedReader(new InputStreamReader(instream));reader.lines().forEach(line -> System.out.println(line));}}
}

翻译自: https://www.javacodegeeks.com/2014/04/how-to-process-stream-and-read-text-file-in-java-8.html

java 文件流读取文本

java 文件流读取文本_如何在Java 8中处理流和读取文本文件相关推荐

  1. java文件全是数字编码_批量将Java源代码文件的编码从GBK转为UTF-8

    最近在做一个项目,需要从以前的另外一个项目迁移大量源代码过来,但是由于另一个项目采用GBK编码格式,而新项目采用的UTF-8编码格式,如果直接把Java源代码复制到Eclipse中所有的中文信息都出现 ...

  2. java获取tomcat启动时间不对_部署在Tomcat 服务器中的web应用读取时间与系统时间不一致问题...

    我在部署应用到Ubantu系统上的tomcat服务器中运行,发现操作系统的时间和tomcat中的应用程序获取的时间不一致,总是相差8个小时,但是查看当前操作系统的时区也是CST时区(中国标准时区). ...

  3. java文件的路径怎么设置,如何在Java中设置路径

    本文概要 是必需的路径使用工具,如javac的,Java等要被设置 如果要保存的JDK / bin目录中的Java源文件,不需要路径设置,因为所有的工具将在当前目录中可用. 但是,如果你有你的Java ...

  4. java 查找链表中间元素_如何在Java中一次性查找Java中链表的中间元素

    如何在一次传递中找到LinkedList的中间元素?这是一个 Java 和非Java程序员面试时经常被问到的编程问题.这个问题类似于检查回文或计算阶乘,有时也会要求编写代码.为了回答这个问题,候选人必 ...

  5. java字符串字符排列组合_如何在Java中查找字符串的所有排列

    java字符串字符排列组合 In this tutorial, we will learn how to find the permutation of a String in a Java Prog ...

  6. java 合并两个列表_如何在Java中合并两个列表?

    java 合并两个列表 Merging two lists in Java is often a useful operation. These lists can be ArrayLists or ...

  7. java类添加单元测试代码_如何在java中单元测试时跳过一段代码

    如果问题确实是: 如何在Java 然后我给出的答案同意单元测试时,我跳过一段代码.依赖注入,嘲讽框架绝对是真正的单元测试的正确途径. 但是,如果问题是: 使用JUnit(或其他单元测试框架) 然后我想 ...

  8. java对象如何保存日期_如何在Java中的日期对象中存储和检索毫秒?

    我正在制作一个读取字幕(.srt)文件的基本Java程序,我想将每次存储为Date对象.我真的只需要跟踪小时,分钟,秒和毫秒(到3位数).我想我能用这个存储它: String start = &quo ...

  9. java 两个字段排序_如何在Java中按两个字段排序?

    使用Java 8流方法..//Creates and sorts a stream (does not sort the original list) persons.stream().sorted( ...

最新文章

  1. Luogu4451 [国家集训队]整数的lqp拆分
  2. 服务器文件嗅探,嗅探TFTP配置文件传输
  3. python控制窗口显示隐藏
  4. 傲游浏览器---自定义 UserAgent 字符串
  5. leetcode 268. 丢失的数字(Java版)
  6. Winform定时启动
  7. 【渝粤题库】国家开放大学2021春2717家畜解剖基础题目
  8. redis——命令请求的执行过程
  9. StringBuffer与StringBuilder
  10. python怎么加载库_Python库如何安装和导入
  11. 使用NPOI——C#和WEB API导出到Excel
  12. python一对一视频教学-问Python,一对一直播开发需要推流器吗?
  13. cobertura试用
  14. 送起来oracle,十一,送你 51 个 Oracle 常用语句~
  15. tensorflow中常用的激活函数
  16. iOS越狱设备安装Frida不成功
  17. 039.并发编程之线程
  18. 水文预报 求各个年份的纳什效率系数
  19. Windows/Linux日志分析
  20. 软件测试需求评审目的,需求评审的重要性

热门文章

  1. 2021“MINIEYE杯”中国大学生算法设计超级联赛(10)Pty loves string(Border+二维数点)
  2. 2021牛客暑期多校训练营1 G-Game of Swapping Numbers(最优解转化+贪心)
  3. F. Paper Grading(Trie树+dfs序+二维数点)
  4. 线段树-Chossing Ads-分治,主元素思想,神题
  5. Java 程序员必须掌握的 8 道数据结构面试题,你会几道
  6. NIO学习–核心概念与基本读写
  7. SpringCloud Eureka自我保护机制
  8. RabbitMQ(mall学习)
  9. spark submit参数及调优
  10. c语言程序设计实践教程张卫国,C语言程序设计实践教程