Java一次性读取文件的内容

Posted 夏天里的Jasmine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java一次性读取文件的内容相关的知识,希望对你有一定的参考价值。

我们做文本处理的时候的最常用的就是读写文件了,尤其是读取文件,不论是什么文件,我都倾向于一次性将文本的原始内容直接读取到内存中再做处理,当然,这需要你有一台大内存的机器,内存不够者……可以一次读取少部分内容,分多次读取。
读取文件效率最快的方法就是一次全读进来,很多人用readline()之类的方法,可能需要反复访问文件,而且每次readline()都会调用编码转换,降低了速度,所以,在已知编码的情况下,按字节流方式先将文件都读入内存,再一次性编码转换是最快的方式,典型的代码如下:

package com.example.utils;

import java.io.*;

public class ReadFile {

    public String readToString(String fileName) {
        String encoding = "UTF-8";
        File file = new File(fileName);
        Long filelength = file.length();
        byte[] filecontent = new byte[filelength.intValue()];
        try {
            FileInputStream in = new FileInputStream(file);
            in.read(filecontent);
            in.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            return new String(filecontent, encoding);
        } catch (UnsupportedEncodingException e) {
            System.err.println("The OS does not support " + encoding);
            e.printStackTrace();
            return null;
        }
    }


    
}

  


以上是关于Java一次性读取文件的内容的主要内容,如果未能解决你的问题,请参考以下文章

从 Zip 文件中的文件中读取内容

如何提高java读取大文本文件的效率

solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例

java中 BufferedReader类读取文件时

java代码 如何向TXT文件写入内容?

java中怎么对同一个文件读取两次或以上,用io