JAVA读取文本文件内容实例代码

java读取文本文件内容

今天写代码写着要调试一个很长的字符串,就用idea新建了text文本,存放长字符串的内容。结果发现读取文本文件内容的java代码不怎么会写了,果然是面向百度编程,面向control c 或者control v编程,尴尬。

最终的代码如下:

public static String readFileContent(String fileName) {
  File file = new File(fileName);
  BufferedReader reader = null;
  StringBuffer sbf = new StringBuffer();
  try {
    reader = new BufferedReader(new FileReader(file));
    String tempStr;
    while ((tempStr = reader.readLine()) != null) {
      sbf.append(tempStr);
    }
    reader.close();
    return sbf.toString();
  } catch (IOException e) {
    e.printStackTrace();
  } finally {
    if (reader != null) {
      try {
        reader.close();
      } catch (IOException e1) {
        e1.printStackTrace();
      }
    }
  }
  return sbf.toString();
}

留个小问题,这种方式只能读取普通的文本文件,对于二进制之类的文件,是不可以的,那应该如何做呢,嗯,等碰到这样场景的需求再记录下来吧。

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;
    }
  }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

(0)

相关推荐

  • java 逐行读取txt文本如何解决中文乱码

    java读取txt文本中如含有中文,可能会出现乱码,解决方案是: 1.要统一编码,java工程的编码,txt文本编码,java工程中的java文本编码都统一为utf-8: 2.利用 InputStreamReader(new FileInputStream(fileUrl), "utf-8")将文本再次设置为utf-8 3.具体代码如下 复制代码 代码如下: InputStreamReader isr; try { isr = new InputStreamReader(new Fil

  • Java 读取PDF中的文本和图片的方法

    本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法.分别调用方法extractText()和extractImages()来读取. 使用工具:Free Spire.PDF for Java(免费版) Jar文件获取导入: 方法1:通过官网下载jar文件包.下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入java程序.导入后如下图: 方法2: 可通过maven仓库安装导入. Java代码示例 import com.spire.pdf.*; import java

  • 如何使用Java读取PPT文本和图片

    前言 本篇文章将介绍通过Java程序来读取PPT幻灯片中的文本及图片的方法.读取图片时,可读取文档中的所有图片,也可以读取指定幻灯片当中的图片. 工具: Free Spire.Presentation for Java(免费版) IntelliJ IDEA Jar文件获取及导入: 方法1:官网下载jar文件包.下载后,解压文件,并在java程序中导入lib文件夹下的Spire.Presentation.jar文件. 方法2:可通过maven仓库导入到maven项目. Java代码示例 测试文档:

  • java 实现读取txt文本数据并以数组形式一行一行取值

    首先来读取txt文本中的内容,输出在控制台,直接上代码: import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public class ReadFiledata { public static String txt2String(File file){ StringBuilder result = new StringBuilder(); try{ BufferedReader br = n

  • Java编程实现向文本文件中读取数据之Scanner用法示例

    本文实例讲述了Java编程实现向文本文件中读取数据之Scanner用法.分享给大家供大家参考,具体如下: 使用Scanner类来读取文件 我们使用Scanner类来从键盘上读取数据,也可以使用Scanner类来从文本文件中读取数据,我们先来看一个实例代码 package com.li; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.*; public class Mai

  • Java 读取文本指定的某一行内容的方法

    Java读取文本指定的某一行内容,使用的都是IO的方法,下面具体看例子: /** * @author:罗大锤 * @date: 2017年9月6日 下午2:35:43 * @version 1.0 * @method:读取文本具体某行内容 * @parameter * @since * @return */ public class OpenTextLine { public static void main(String[] args) throws IOException { long ti

  • Java 读取指定路径的文本文件并返回String的方法

    如下所示: import java.io.*; /** * Created by liuyikai on 2016/8/13. */ public class FileUtil { public static String LoadContentByPath(String path) throws IOException { InputStream is = new FileInputStream(path); BufferedReader in = new BufferedReader(new

  • 实例讲解Java读取一般文本文件和word文档的方法

    一般文本文件 我们以日志文件.log文件为例: import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class File_Test { /** * @param args */ pub

  • JAVA读取文本文件内容实例代码

    java读取文本文件内容 今天写代码写着要调试一个很长的字符串,就用idea新建了text文本,存放长字符串的内容.结果发现读取文本文件内容的java代码不怎么会写了,果然是面向百度编程,面向control c 或者control v编程,尴尬. 最终的代码如下: public static String readFileContent(String fileName) { File file = new File(fileName); BufferedReader reader = null;

  • java 读取excel内容具体代码

    1. 需要下载jxl.jar包,自己研究了一下,代码如下 复制代码 代码如下: package file;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.Map; import jxl.Workbook;import jxl.read.biff.BiffException;import jxl.write.*;im

  • Java web的读取Excel简单实例代码

    目录结构: Data.xls数据: 后台页面: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //System.out.println(this.getServletContext().getRealPath ("/")); try{ Workbook wb = Workbook.getWorkbook(

  • Java 读取excel 文件流代码实例

    这篇文章主要介绍了Java 读取excel 文件流代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 public static void initType(String path) { try { //1 获取excel文件流 excel xls 文件 暂不支持xlsx if (path.contains("xlsx") || path.contains("XLSX")) { System.err.

  • java读取xml配置参数代码实例

    这篇文章主要介绍了java读取xml配置参数代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 paras.xml文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.

  • java 读取本地文件实例详解

    java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Document; import org.w3c.dom.Element; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import java.io.File; /** *

  • java 读取网页内容的实例详解

    java 读取网页内容的实例详解 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.*; public class loadurl { public static void main(String args[]) { String a = null; try { String url = "(这里替换成任意网页的网址)"

  • java fastdfs客户端使用实例代码

    本文研究的主要是java fastdfs客户端使用实例的相关内容,具体实现如下. 什么是FastDFS? FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传.下载等服务. FastDFS架构 FastDFS架构包括 Tracker server和Storage server.客户端请求Tracker server进行文件

  • Java中Console对象实例代码

    在JDK 6中新增了java.io.Console类,可以让您取得字节为基础的主控台装置,例如,您可以藉由System新增的console()方法取得标准输入输出装置的Console对象,并利用它来执行一些简单的主控台文字输入输出,例如: ConsoleDemo.java import java.io.Console; public class ConsoleDemo { public static void main(String[] args) { System.out.print("请输入

  • Java 时间转换的实例代码

    Java 时间转换的实例代码 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * Created by Edward on 2016/6/30. */ public class TimeUtil { /** * 将 1467341232351 转换为 指定格式 "yyyy-MM-dd HH:mm:ss.

随机推荐