博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java一次性读取文件的内容
阅读量:5979 次
发布时间:2019-06-20

本文共 1129 字,大约阅读时间需要 3 分钟。

我们做文本处理的时候的最常用的就是读写文件了,尤其是读取文件,不论是什么文件,我都倾向于一次性将文本的原始内容直接读取到内存中再做处理,当然,这需要你有一台大内存的机器,内存不够者……可以一次读取少部分内容,分多次读取。

读取文件效率最快的方法就是一次全读进来,很多人用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;        }    }    }

  

转载于:https://www.cnblogs.com/qianjinyan/p/10395200.html

你可能感兴趣的文章
笔记3 es6,7,正则
查看>>
CSS结构原理(二)——伪类、伪元素与样式特性
查看>>
Flutter 系列文章:Flutter SliverAppbar 控件介绍
查看>>
vuepress搭建技术文档实战(带github项目地址)
查看>>
第一个React项目总结
查看>>
我用两种方式写的省市区判断转换
查看>>
没有学不会的C++:显示类型转换(Casting)
查看>>
你需要知道的几类npm依赖包管理
查看>>
Http状态码整理
查看>>
会员向上,广告向下:爱奇艺权衡之道不轻松
查看>>
数据请求+
查看>>
在线短地址转换聚合工具-toolfk程序员在线工具网
查看>>
springboot整合mybatis即使用 **mapper.xml 02
查看>>
那些年,我们一起踩过的坑(前端防翻车指南)
查看>>
iOS获取当前显示的试图控制器
查看>>
(三)Spring Cloud架构的代码结构
查看>>
基于ES5`defineProperty` 实现简单的 Mvvm框架
查看>>
CSS基础--盒子阴影、边框圆角
查看>>
Python3之打印操作print详解(上)
查看>>
IOST节点竞选计划公布,欢迎广大开发者参与成为节点!
查看>>