美文网首页
Apache Commons IO之IOUtils优雅操作流

Apache Commons IO之IOUtils优雅操作流

作者: 码自在 | 来源:发表于2019-03-27 20:21 被阅读0次
    概述

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

    1.从流中读取数据
    FileInputStream fileInputStream = new FileInputStream(new File("d://demo.txt"));
    List<String> list = IOUtils.readLines(fileInputStream, "UTF-8");//只要是InputStream流都可以,比如http响应的流
    //直接把流读取为String
    String 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);
     }
    

    相关文章

      网友评论

          本文标题:Apache Commons IO之IOUtils优雅操作流

          本文链接:https://www.haomeiwen.com/subject/lmvtbqtx.html