• java 读取文件内容 三种形式及效率对比


    IOUtils.getStringFromReader() 读取方式为最快的

    InputStream in = null;
    String line = "";
    long start=0,end=0;
    try {
    start = System.currentTimeMillis();
    in = new FileInputStream(new File("D://1.txt"));
    InputStreamReader stream = new InputStreamReader(in, "GBK");
    char[] temp = new char[1024];
    int count = 0;
    while ((count = stream.read(temp)) != -1) {
    line = line + new String(temp, 0, count);
    }
    end = System.currentTimeMillis();
    System.err.println(line);
    System.err.println(end - start);
    in.close();
    } catch (FileNotFoundException e) {
    System.err.println("文件未找到");
    } catch (IOException e) {
    System.err.println("IO读取不一致");
    }

    try {
    long start1 = System.currentTimeMillis();
    InputStream in1 = new FileInputStream(new File("D://1.txt"));
    BufferedReader br = new BufferedReader(new InputStreamReader(in1, "GBK"));
    String s="";
    char[] temp = new char[1024];
    int count=0;
    while ((count=br.read(temp)) != -1) {
    s += new String(temp, 0, count);
    }
    in1.close();
    br.close();
    long end1 = System.currentTimeMillis();
    System.out.println(s);
    System.out.println((end-start)+"readLines"+(end1 - start1));
    long start2=System.currentTimeMillis();
    InputStream in2 = new FileInputStream(new File("D://1.txt"));
    String is=IOUtils.getStringFromReader(new BufferedReader(new InputStreamReader(in2,"GBK")));
    System.err.println(is);
    long end2=System.currentTimeMillis();
    System.out.println((end-start)+"readLines"+(end1 - start1)+"测试"+(end2-start2));
    } catch (FileNotFoundException e) {
    System.out.println("文件未找到");
    } catch (IOException e) {
    System.out.println("IO读取不一致");
    }

  • 相关阅读:
    Spring JDBC
    获取JNDI数据源
    subset II
    hadoop-0.20.2安装配置
    leetcode5:subsets问题
    leetcode4:Permutation
    leetCode3
    leetcode2:线性表
    leetcode1:线性表
    使用C++11 开发一个半同步半异步线程池
  • 原文地址:https://www.cnblogs.com/Snowflake/p/4123619.html
Copyright © 2020-2023  润新知