Java一次读取文本文件所有内容

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

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;
        }
    }  
时间: 2024-08-29 14:22:02

Java一次读取文本文件所有内容的相关文章

Java 练习:读取该文件内容,并按照自然顺序排序后输出到 另一个文件中

package com.swift; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class IO_sort_content { public static void main(String[] args) { /* * 已知文件 a.txt 文件中的内容为"bcde

java基础-输入流-读取文本文件中数据至字符串数组

简介:如题 import java.io.FileInputStream; /** * @author czchina * */ public class TestStream { public static void main(String[] args) { // TODO Auto-generated method stub //声明输入流的引用 FileInputStream fls = null; //声明输出流的引用 FileOutputStream fos =null; try{

Java基础--输入流--读取文本文件

简介:如题 import java.io.FileInputStream; import java.io.FileOutputStream; /** * @author czchina * */ public class TestStream { public static void main(String[] args) { // TODO Auto-generated method stub //声明输入流的引用 FileInputStream fls = null; //声明输出流的引用

五种方式让你在java中读取properties文件内容不再是难题

一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC+Mybatis整合开发的项目中通过java程序读取properties文件内容的方式进行了梳理和分析,先和大家共享. 二.项目环境介绍 Spring 4.2.6.RELEASE SpringMvc 4.2.6.RELEASE Mybatis 3.2.8 Maven 3.3.9 Jdk 1.7 Id

Java编程:使用Java读取Excel文件内容

微软的ODBC驱动程序把工作表中的第一行作为列名(译者注:即字段名),工作表名作为数据库表名. 要通过JDBC访问工作表,我们还必须创建一个新的ODBC数据源,在Windows 2000系统上创建数据源的过程如下: 进入“控制面板” --> “管理工具” --> “数据源(ODBC)”,(译者注:打开后选择系统DSN),点击添加,在弹出窗口中选择“Driver do Microsoft Excel(*.xls)” 然后在数据源名处输入一个名字myexcel(译者注:相当于数据库名),然后点击“

JAVA利用jxl读取Excel内容

JAVA可以利用jxl简单快速的读取文件的内容,但是由于版本限制,只能读取97-03  xls格式的Excel. 1 import java.io.File; 2 import java.io.FileInputStream; 3 4 import jxl.Cell; 5 import jxl.Sheet; 6 import jxl.Workbook; 7 8 9 public class testxls { 10 /** 11 * 读取xls文件内容 12 * @param file 想要读取

java 读取显示txt内容(Swing)

java 读取显示txt内容(Swing),JTextArea public class TxtSwing extends JFrame { private JTextArea textAreaOutput; public TxtSwing() throws IOException { super("txt"); setDefaultCloseOperation(EXIT_ON_CLOSE); getContentPane().setLayout(new java.awt.FlowLa

Java一次性读取文件的内容

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

字符输入流读取文本文件【Reader、FileReader、BufferedReader 】

字符输入流读取文本文件 1.Reader类(读取字符流的抽象类) ※Reader类的常用方法 方法名称 说明 int read() 从输入流中读取单个字符 int read(byte[] c) 从输入流中读取c .length长度的字符,保存到字节数组c中,返回实际读取的字符数 int read(byte[] c, int off , int len) 从输入流中读取最多len长度的字节,保存到字节数组c中,保存的位置从off开始,返回实际读取的字符数 void close() 关闭流 2.字符