• IOUtils总结


     

     

     

     

     

     

     

     参考:https://www.cnblogs.com/xing901022/p/5978989.html

    常用的静态变量

    在IOUtils中还是有很多常用的一些变量的,比如换行符等等

    
    public static final char DIR_SEPARATOR_UNIX = '/';
    public static final char DIR_SEPARATOR_WINDOWS = '\';
    public static final char DIR_SEPARATOR;
    public static final String LINE_SEPARATOR_UNIX = "
    ";
    public static final String LINE_SEPARATOR_WINDOWS = "
    ";
    public static final String LINE_SEPARATOR;
    
    
    static {
        DIR_SEPARATOR = File.separatorChar;
        
        StringBuilderWriter buf = new StringBuilderWriter(4);
        PrintWriter out = new PrintWriter(buf);
        out.println();
        LINE_SEPARATOR = buf.toString();
        out.close();
    }

    常用方法

    copy

    这个方法可以拷贝流,算是这个工具类中使用最多的方法了。支持多种数据间的拷贝:

    copy(inputstream,outputstream)
    copy(inputstream,writer)
    copy(inputstream,writer,encoding)
    copy(reader,outputstream)
    copy(reader,writer)
    copy(reader,writer,encoding)

    copy内部使用的其实还是copyLarge方法。因为copy能拷贝Integer.MAX_VALUE的字节数据,

    copyLarge

    这个方法适合拷贝较大的数据流,比如2G以上。

    copyLarge(reader,writer) 默认会用1024*4的buffer来读取
    copyLarge(reader,writer,buffer)

    内部的细节可以参考:

     public static long copyLarge(Reader input, Writer output, char [] buffer) throws IOException {
            long count = 0;
            int n = 0;
            while (EOF != (n = input.read(buffer))) {
                output.write(buffer, 0, n);
                count += n;
            }
            return count;
        }

    这个方法会用一个固定大小的Buffer,持续不断的读取数据,然后写入到输出流中。

  • 相关阅读:
    Hadoop杂记
    hadoop主节点(NameNode)备份策略以及恢复方法
    (转)第12章 Shell脚本编程
    Hadoop添加删除节点
    secondarynamenode异常
    (转)Memcached笔记——(一)安装&常规错误&监控
    浅(kou)谈(hu)杜教筛
    Pollard_Rho 算法
    Miller_Rabin 素数判定算法
    zoj分类(包括poj已做的)
  • 原文地址:https://www.cnblogs.com/lshan/p/9026088.html
Copyright © 2020-2023  润新知