Apache Commons IO之IOUtils优雅操作流

2020-02-02 15:40:36

在开发过程中,你肯定遇到过从流中解析数据,或者把数据写入流中,或者输入流转换为输出流,而且最后还要进行流的关闭,原始jdk自带的方法写起来太复杂,还要注意各种异常,如果你为此感到烦恼,那IOUtils可以让我们优雅的操作流。

1.从流中读取数据

FileInputStream fileInputStream = new FileInputStream(new File("d://demo.txt"));List<String> list = IOUtils.readLines(fileInputStream, "UTF-8");//只要是InputStream流都可以,比如http响应的流//直接把流读取为StringString content = IOUtils.toString(inputStream,"UTF-8");//把流转换为byte数组byte[] bytes = IOUtils.toByteArray(inputStream);
2.把数据写入流

//把数据写入输出流IOUtils.write("abc", outputStream);//把字符串转换流InputStream inputStream = IOUtils.toInputStream("aaaaaaaaa", "UTF-8");
2.流的相互复制

IOUtils.copy(inputstream,outputstream);IOUtils.copy(inputstream,writer);IOUtils.copy(inputstream,writer,encoding);IOUtils.copy(reader,outputstream);IOUtils.copy(reader,writer);IOUtils.copy(reader,writer,encoding);
2.流的关闭

try {
     return IOUtils.copy(inputStream, outputStream);
 } finally {
     //优雅的关闭流
     IOUtils.closeQuietly(inputStream);
     IOUtils.closeQuietly(outputStream);
 }

  • 2019-04-01 23:20:58

    隐藏在图片中的密钥

    在客户端开发的时候,有时需要把密钥保存在本地。这时就会遇到密钥安全性的问题。要保证密钥安全性,无非就是混淆、隐藏、白盒等手段。本文以隐藏在图片中来阐述密钥的安全保存。

  • 2019-04-01 23:22:33

    验证数字签名

    应预先设置验证首选项。在打开 PDF 后显示包含签名的验证详细信息时,这有助于确保数字签名有效。有关详细信息,请参阅设置签名验证首选项。

  • 2019-04-01 23:23:27

    图像隐写之使用PHP隐藏图像中的文本

    隐写术是一门研究隐藏信息的科学艺术,通过隐写术,可以只让发送者和接收者知道隐藏的信息。 图像隐写术则是研究将数据隐藏在图像中,通过该技术可以防止无关用户发现这些隐藏的信息或数据。

  • 2019-04-08 16:01:57

    Window 设置pm2开机自启动服务

    下面用 pm2 来启动我们自己的服务程序 app.js, 然后告诉 pm2 开机后自动运行我 app.js 继续在管理员命令行下, cd 到 app.js 所在目录

  • 2019-04-10 17:25:21

    Joda-Time详解,最好用的java时间工具

    任何企业应用程序都需要处理时间问题。应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个 时间点之间的路径。使用 JDK 完成这项任务将非常痛苦和繁琐。