`

java io 对文件操作的示例

阅读更多
*
* 简单的读/写文本文件的示例
* 这里包含了三个例子,即
* 1. 将文件读入到内存(这里是StringBuffer)的例子
* 2. 将内容中的文本写到文件
* 3. 将一个文件的内容读出来写入另一个文件中
*     同时也展示了如果从输入流中读出来内容写入输出流中(仅限文本流)
* 三个例子可以独立存在,所以根据需要只看其中一个就行了。
*/

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.PrintWriter;

public final class AccessTextFile {

     /**
      * 1. 演示将流中的文本读入一个 StringBuffer 中
      * @throws IOException
      */
     public void readToBuffer(StringBuffer buffer, InputStream is)
         throws IOException {
         String line;         // 用来保存每行读取的内容
         BufferedReader reader = new BufferedReader(new InputStreamReader(is));
         line = reader.readLine();        // 读取第一行
         while (line != null) {           // 如果 line 为空说明读完了
             buffer.append(line);         // 将读到的内容添加到 buffer 中
             buffer.append("\n");         // 添加换行符
             line = reader.readLine();    // 读取下一行
         }
     }

     /**
      * 2. 演示将 StringBuffer 中的内容读出到流中
      */
     public void writeFromBuffer(StringBuffer buffer, OutputStream os) {
         // 用 PrintStream 可以方便的把内容输出到输出流中
         // 其对象的用法和 System.out 一样
         // (System.out 本身就是 PrintStream 对象)
         PrintStream ps = new PrintStream(os);   
         ps.print(buffer.toString());
     }

     /**
      * 3*. 从输入流中拷贝内容到输入流中
      * @throws IOException
      */
     public void copyStream(InputStream is, OutputStream os) throws IOException {
         // 这个读过过程可以参阅 readToBuffer 中的注释
         String line;
         BufferedReader reader = new BufferedReader(new InputStreamReader(is));
         PrintWriter writer = new PrintWriter(new OutputStreamWriter(os));
         line = reader.readLine();
         while (line != null) {
             writer.println(line);
             line = reader.readLine();
         }
         writer.flush();      // 最后确定要把输出流中的东西都写出去了
                             // 这里不关闭 writer 是因为 os 是从外面传进来的
                             // 既然不是从这里打开的,也就不从这里关闭
                             // 如果关闭的 writer,封装在里面的 os 也就被关了
     }

     /**
      * 3. 调用 copyStream(InputStream, OutputStream) 方法拷贝文本文件
      */
     public void copyTextFile(String inFilename, String outFilename)
         throws IOException {
         // 先根据输入/输出文件生成相应的输入/输出流
         InputStream is = new FileInputStream(inFilename);
         OutputStream os = new FileOutputStream(outFilename);
         copyStream(is, os);      // 用 copyStream 拷贝内容
         is.close(); // is 是在这里打开的,所以需要关闭
         os.close(); // os 是在这里打开的,所以需要关闭
     }

     public static void main(String[] args) throws IOException {
         int sw = 1;      // 三种测试的选择开关
         AccessTextFile test = new AccessTextFile();
        
         switch (sw) {
         case 1: // 测试读
         {
             InputStream is = new FileInputStream("E:\\test.txt");
             StringBuffer buffer = new StringBuffer();
             test.readToBuffer(buffer, is);
             System.out.println(buffer);      // 将读到 buffer 中的内容写出来
             is.close();
             break;
         }
         case 2: // 测试写
         {
             StringBuffer buffer = new StringBuffer("Only a test\n");
             test.writeFromBuffer(buffer, System.out);
             break;
         }
         case 3: // 测试拷贝
         {
             test.copyTextFile("E:\\test.txt", "E:\\r.txt");
         }
             break;
         }
     }

}

 

分享到:
评论

相关推荐

    java io 文件操作大全

    ### Java IO 文件操作大全 #### 一、目录的建立/检查与删除 在Java中,可以使用`java.io.File`类来创建、检查以及删除目录。以下是一个示例代码: ```java ;charset=gb2312" %> <%@ page import="java.io.*" %> ...

    java io读写文件

    根据给定的信息,我们可以深入探讨Java IO操作中的文件读写技术,特别关注如何从一个文本文件中筛选数据并保存到另一个文件中。 ### Java IO读写文件基础 在Java中,进行文件读写的操作通常涉及两个核心包:`java....

    Java IO 基础操作(文件读写和移动)

    在Java编程语言中,输入/输出(IO)是处理数据传输的核心部分,特别是在与文件系统交互时。本文将深入探讨Java中的基本文件操作,包括文件的移动、读写以及文本文件的读写。 首先,让我们从文件操作开始。在Java中...

    Java中文件IO流.pdf

    Java 中文件 IO 流是指 Java 语言中对文件的输入输出操作,通过定义文件流来实现文件的读写操作。文件流是指在程序中用于文件输入输出的对象, Java 中提供了多种文件流类型,包括 InputStream 和 OutputStream 两大...

    Java io的基本操作很全面的代码呀

    Java IO提供了丰富的类库,使得开发者能够处理各种类型的输入输出任务,包括文件操作、网络通信、流处理等。在这个“Java io的基本操作很全面的代码”项目中,我们可以看到一系列针对Java IO的实例,对于学习和理解...

    java_io.rar_java 文件操作_java 读取 本地文件_java.io转动_文件操作

    本资源“java_io.rar”提供了关于如何在Java中进行文件操作的示例代码,包括读取、移动、删除和复制文件等常见任务。我们将深入探讨这些主题,以便更好地理解Java I/O API的使用。 首先,让我们从读取本地文件开始...

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、...3、JAVA IO流经典代码示例,示例从易到难。代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。

    javaIO操作简单例子

    下面是一个简单的Java IO操作示例,展示如何使用InputStream和FileOutputStream进行文件的复制: ```java import java.io.*; public class SimpleIOTest { public static void main(String[] args) { try { ...

    java 使用IO流实现文件的复制

    在Java编程语言中,文件复制是一项常见的操作,可以用于备份数据、迁移文件或者在程序中处理数据。IO(Input/Output)流是Java提供的一种处理输入输出数据的方式,包括读取和写入文件。本篇文章将详细介绍如何使用...

    Java IO应届生培训讲义

    在Java IO类库中,使用字节流复制文件是一个常见示例,其中涉及到流的嵌套使用、资源管理以及缓冲机制。例如,在使用字节流复制文件时,可以利用try-with-resources语句自动关闭资源,以及使用缓冲区来提高数据传输...

    javaIo操作的基础代码

    在提供的压缩包文件"Io基础文档"中,可能包含了关于这些概念的详细说明、示例代码和实战指导,对于深入理解和掌握Java IO操作非常有帮助。学习和理解这些内容,将有助于开发者在处理数据输入输出时编写出高效、稳定...

    java 文件操作及IO流

    Java 文件操作与IO流是Java编程中的核心概念,主要用于数据的读取、写入和传输。在Java中,文件操作通常涉及到`java.io`包下的类,如`File`、`FileOutputStream`、`OutputStreamWriter`和`BufferedWriter`等。下面将...

    Java IO 使用例

    在“JavaIODemo”这个示例中,可能会包含以上提到的一些或全部Java IO操作的代码实例,通过这些实例,我们可以学习如何在实际项目中应用Java IO API。实践是掌握Java IO的最佳方式,通过对这些示例的分析和运行,...

    Java基于IO流读取文件的方法

    Java IO流分为字符流和字节流,适用于不同类型的文件和数据源。本文将深入探讨如何使用IO流来读取文件,并通过实例代码详细解释每一个步骤。 首先,要读取一个文件,我们需要获取文件的路径。在给定的示例中,路径...

    Java教程之javaIO详解

    Java IO(Input/Output)是 Java 语言中用于处理输入输出操作的类库,提供了大量的类和方法来实现文件、网络、字节流等方面的输入输出操作。下面对 Java IO 中的重要知识点进行详细说明。 一、File 类 File 类是 ...

    java IO以追加方式写文件FileWrite

    总的来说,Java中的`FileWriter`类提供了简单而强大的文件写入功能,特别是其追加模式,使得我们可以方便地对文件进行持续的、无损的更新。在实际开发中,我们需要熟练掌握这一特性,以应对各种文件处理的需求。

    Java简单的文件IO程序

    首先,Java中的文件IO操作主要依赖于`java.io`包中的类,如`File`、`FileReader`、`FileWriter`、`BufferedReader`和`BufferedWriter`等。在描述中提到的`File`类是Java中的核心类,用于表示文件和目录路径名的抽象...

    Java读取文件示例代码

    最后,Apache Commons IO库中的IOUtils提供了更简洁的API,可以简化文件读取操作。这个库不是Java标准库的一部分,但通常会被添加到项目中以提供额外的IO功能。以下是使用IOUtils的示例: ```java import org....

Global site tag (gtag.js) - Google Analytics