`
zjutsoft
  • 浏览: 460367 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用Java操作文本文件的方法详解

    博客分类:
  • java
阅读更多
最初Java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,Writer中write(char[] ch,int off,int length),flush()和close()方法为抽象方法,Reader中read(char[] ch,int off,int length)和close()方法是抽象方法。子类应该分别实现他们。

  当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader,它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如GBK等。当使用FileReader读取文件的时候。



FileReader fr = new FileReader("ming.txt");
int ch = 0;
while((ch = fr.read())!=-1 )
{
 System.out.print((char)ch);
}




  其中read()方法返回的是读取得下个字符。当然你也可以使用read(char[] ch,int off,int length)这和处理二进制文件的时候类似,不多说了。如果使用InputStreamReader来读取文件的时候



while((ch = isr.read())!=-1)
{
 System.out.print((char)ch);
}




  这和FileReader并没有什么区别,事实上在FileReader中的方法都是从InputStreamReader中继承过来的。read()方法是比较好费时间的,如果为了提高效率我们可以使用BufferedReader对Reader进行包装,这样可以提高读取得速度,我们可以一行一行的读取文本,使用readLine()方法。



BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("ming.txt")));
String data = null;
while((data = br.readLine())!=null)
{
 System.out.println(data);
}




  当你明白了如何用Reader来读取文本文件的时候那么用Writer写文件同样非常简单。有一点需要注意,当你写文件的时候,为了提高效率,写入的数据会先放入缓冲区,然后写入文件。因此有时候你需要主动调用flush()方法。与上面对应的写文件的方法为:



FileWriter fw = new FileWriter("hello.txt");
String s = "hello world";
fw.write(s,0,s.length());
fw.flush();

OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("hello2.txt"));
osw.write(s,0,s.length());
osw.flush();

PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("hello3.txt")),true);
pw.println(s);




  不要忘记用完后关闭流!下面是个小例子,帮助新手理解。其实有的时候java的IO系统是需要我们多记记的,不然哪天就生疏了。

  hello world i like java language



import java.io.*;

public class TestFile2
{
 public static void main(String[] args) throws IOException
 {
  FileReader fr = new FileReader("ming.txt");
  char[] buffer = new char[1024];
  int ch = 0;
  while((ch = fr.read())!=-1 )
  {
   System.out.print((char)ch);
  }

  InputStreamReader isr = new InputStreamReader(new FileInputStream("ming.txt"));
  while((ch = isr.read())!=-1)
  {
   System.out.print((char)ch);
  }

  BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("ming.txt")));
  String data = null;
  while((data = br.readLine())!=null)
  {
   System.out.println(data);
  }

  FileWriter fw = new FileWriter("hello.txt");
  String s = "hello world";
  fw.write(s,0,s.length());
  fw.flush();

  OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("hello2.txt"));
  osw.write(s,0,s.length());
  osw.flush();

  PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("hello3.txt")),true);
  pw.println(s);

  fr.close();
  isr.close();
  br.close();
  fw.close();
  osw.close();
  pw.close();
 }
}




分享到:
评论

相关推荐

    java文本读取方法

    ### Java文本读取方法详解 在Java编程语言中,读取文本文件是常见的操作之一,尤其是在处理大量数据或日志文件时。本文将详细介绍四种不同的Java文本读取方法:按字节读取文件内容、按字符读取文件内容、按行读取...

    Java文本文件操作方法实例详解

    这个实例展示了Java中基本的文本文件读写操作,包括使用Reader、Writer及其子类,以及BufferedReader和PrintWriter的功能。在实际开发中,这些基础操作是处理文本数据不可或缺的部分。记住,每次操作完文件后,记得...

    java中对文件操作大全

    ### Java中文件操作详解 #### 一、获取控制台用户输入信息 在Java中,获取控制台用户输入信息是一项基本但重要的操作。如标题“Java中文件操作大全”所示,其中一个示例方法`getInputMessage()`用于从控制台读取...

    Java中正则表达式使用方法详解

    Java中正则表达式使用方法详解 正则表达式是字符构成的串,定义了一个用来搜索匹配字符串的模式。 Java中的正则表达式使用方法详解将为读者提供一个详细的指南,了解正则表达式的基础知识和使用方法。 一、正则...

    java如何读取文件

    本文将详细解析如何使用Java读取文本文件,基于提供的代码示例,深入探讨其工作原理及最佳实践。 ### Java读取文本文件的基础 在Java中,读取文件主要依赖于`java.io`包中的类,如`FileReader`和`BufferedReader`...

    java解析并且操作excel_方法

    ### Java 解析并操作 Excel 方法详解 #### 一、引言 随着企业信息化程度的不断提高,Excel 文件在数据处理和报告生成中扮演着极其重要的角色。因此,掌握如何使用 Java 对 Excel 文件进行读写操作变得至关重要。...

    Java 添加Word目录的2种方法示例代码详解

    Java 添加 Word 目录的 2 种方法示例代码详解 在本文中,我们将探讨 Java 中添加 Word 目录的两种方法。目录是一种能够快速、有效地帮助读者了解文档或书籍主要内容的方式。在 Word 中,插入目录首先需要设置相应...

    Java文本打印机效果

    ### Java文本打印机效果 #### 知识点概览 1. **Java Applet与图形界面** 2. **线程管理** 3. **文本动画实现** 4. **异常处理** #### 知识点详解 ##### 1. Java Applet与图形界面 **Java Applet**是一种在...

    Java文本文件

    ### Java文本文件 #### Java面试题集锦,经典中的经典 这部分描述提示我们,文档内容可能包含了大量针对Java程序员面试准备的经典题目,涉及Java的基础知识、核心概念、数据结构、异常处理、面向对象特性等多个...

    Java编程中最基础的文件和目录操作方法详解

    - **以字符为单位读取**(文本文件):适用于读取包含字符数据的文本文件,例如支持中文字符。Java提供`BufferedReader`或`FileReader`来读取字符流。`readFileByChars()`方法展示了一个简单的例子,通过`...

    Java文本编辑器实现方法详解

    Java文本编辑器实现方法详解是指使用Java语言实现一个文本编辑器的方法,包括文本编辑器的结构、原理、布局、实现步骤与相关操作技巧等。下面是Java文本编辑器实现方法的详细分析: 一、结构分析 Java文本编辑器的...

    java文件操作

    - `FileReader`和`FileWriter`用于读写文本文件,通常以UTF-8编码。 - 写入文件: ```java FileWriter writer = new FileWriter("example.txt"); writer.write("Hello, Java!"); writer.close(); ``` 3. **...

    用Java 操作Domino 数据库例子

    ### 使用Java操作Domino数据库详解 #### 一、前言 在企业级应用开发中,IBM Domino数据库(原名Lotus Notes/Domino)因其强大的文档管理与协作能力而受到青睐。为了更好地集成Java应用程序与Domino数据库,IBM提供...

    java生成word文档代码详解

    ### Java生成Word文档代码详解 #### 一、引言 在日常工作中,有时我们需要通过程序自动生成Word文档,尤其是在报表生成、数据导出等场景下。利用Java来生成Word文档不仅可以提高工作效率,还能确保文档的一致性和...

    java读取pdf文件属性

    在IT领域,特别是Java编程中,读取PDF文件的元数据是一项常见的需求,尤其是在文档管理、内容管理系统或任何需要处理大量文档的应用场景中。本文将深入探讨如何使用Java读取PDF文件的属性,如作者、标题等元数据,...

    java操作word:jacob(方法解析+环境配置)

    ### Java操作Word:Jacob(方法解析+环境配置) #### Jacob简介 Jacob是一个开源的Java-COM桥接工具,它允许Java程序与Windows平台上的COM组件进行交互。这意味着开发者可以通过Java来控制诸如Microsoft Word、...

    Java 生成pdf文件加盖公章图片,上传阿里云

    在Java开发中,生成PDF文件并添加公章图片是一项常见的任务,尤其在电子文档处理和企业自动化流程中。这里,我们探讨如何使用Java实现这一功能,并将生成的文件上传至阿里云存储服务。以下是一些关键知识点: 1. **...

    Java编写的简易文本编辑器

    2.带使用方法详解。 3.带java环境搭建。 4.适合高职高专以及本科计算机专业学生进行Java课程设计时参考 5.作品介绍 这是一个简单的文本编辑器 用javaGUI编程实现 能实现文本文件的新建、打开、保存、另存以及程序的...

Global site tag (gtag.js) - Google Analytics