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

javaIO流 文本文件读写

    博客分类:
  • java
阅读更多
/*
* 简单的读/写文本文件的示例
* 这里包含了三个例子,即
* 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 IO流是Java语言中对输入/输出(Input/Output)操作的抽象表示。它提供了多种流机制来实现文件的读写操作。本文将对JAVA IO流文件读写的知识点进行详细的解释和分析。 1. JAVA IO流...

    Java 读写文件文本文件的示例

    根据给定的文件信息,我们将深入探讨Java读写文件文本文件的关键知识点,这些知识点主要集中在文件的读取、写入以及流的复制等操作上。 ### Java读取文本文件 在Java中,读取文本文件通常涉及到使用`InputStream`...

    java的io流文件读写

    Java的IO流是Java平台提供的一种处理输入输出数据的重要机制,尤其在文件读写方面,它扮演着核心角色。对于初学者来说,理解和掌握Java IO流的使用是学习Java编程的基础,也是进阶到更复杂系统开发的关键一步。 ...

    Java IO学习基础之读写文本文件

    ### Java IO学习基础之读写...通过上述示例,我们可以看到Java IO的基本用法以及如何利用缓冲流提高文件读写的效率。在实际应用中,还需要根据具体需求选择合适的IO模型,并注意异常处理,确保程序的健壮性和稳定性。

    java IO流实例,包括文件的读写、上传和下载

    在Java编程语言中,IO...通过组合不同的流类,可以实现复杂的文件读写、上传和下载任务,同时适应文本和非文本数据的处理需求。在实际应用中,还需要考虑错误处理、资源管理等实践问题,确保程序的稳定性和效率。

    java io 流,文件读取操作

    Java IO 流、文件读取操作 Java IO 流是 Java 语言中的一种基本输入/输出机制,它提供了多种方式来处理输入/输出操作。在 Java 中,IO 流可以分为两大类:字节流和字符流。字节流主要用于处理二进制数据,而字符流...

    java IO流读写

    Java IO流是Java平台中用于处理输入和输出的重要机制,它允许程序与各种数据源(如文件、网络连接、内存缓冲区等)进行交互。在Java中,IO流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。字节流...

    IO流、Xml解析

    字符流适用于文本文件,而字节流则适用于任何类型的数据。IO流还包括输入流(Input Stream)、输出流(Output Stream)、缓冲流(Buffered Stream)、转换流(Converter Stream)以及对象流(Object Stream)等子类...

    java io读写文件

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

    java IO流+socket源码 实现简单文本传输

    在这个示例中,我们将深入探讨如何利用Java IO流与Socket实现简单的文本传输。对于初学者来说,理解这两个概念及其交互是非常关键的。 首先,让我们来了解Java IO流。IO流在Java中用于读取和写入数据,它可以是文件...

    java io流 案例

    例如, FileReader和FileWriter用于读取和写入文本文件。字符流通常在字节流之上构建,以提供更高效、更方便的文本操作。 在Java IO中,缓冲流(Buffered Stream)被设计用来提高性能,通过在内部创建缓冲区来存储...

    JAVA IO流技术

    理解并熟练运用Java IO流技术是开发Java应用程序的关键,它能够有效地处理数据的读写操作,无论是简单的文本文件还是复杂的网络通信。在实际编程中,根据需求选择适当的流类型,结合处理流进行优化,可以构建出高效...

    Java IO流文档

    在Java中,输入输出流(简称IO流)是用来处理文件读写的核心技术之一。它主要包括两类:以字节为导向的流和以字符为导向的流。 ##### 1.1 以字节为导向的流 以字节为导向的流是指按照字节来进行数据读写的流,适用...

    彻底明白java中的IO流

    Java中的IO流是Java核心库java.io中的关键组成部分,它为程序提供了与外部资源交互的能力,包括文件读写、标准设备输入输出等。Java的IO流机制基于流的概念,流可以被视为数据传输的通道,数据按照序列化的方式从...

    IO流 javaio java 流

    Java中的IO流是Java核心库的重要组成部分,它用于在不同数据源之间传输数据。Java IO流分为两大类:字符流(Character Stream)和字节流(Byte Stream)。字符流处理单个字符,而字节流处理8位的字节序列。它们又...

    java io流PPT课件.pptx

    Java的I/O类库位于`java.io`包中,提供了一系列的类和接口,涵盖了从简单的文件读写到复杂的网络通信等多种功能。这个类库包括了诸如文件操作、缓冲、过滤、字符编码等多个方面的内容。Java的I/O设计遵循了一种称为...

    javaIO流基础.zip_IO流 上传 下载文件_io流 上传_io流下载_下载

    在这个“javaIO流基础.zip”压缩包中,我们能看到一系列与文件上传和下载相关的Java代码示例,涵盖了多种IO流类型及其用法。 首先,`TestFileOutputStream.java`和`TestFileInputStream.java`涉及到的是文件输入流...

    Java流(文件读写操作)

    ### Java流(文件读写操作) #### 一、流的分类 Java中处理文件和数据时,使用流的概念来进行操作。根据不同的标准,流可以分为几种类型。 ##### 1. 按数据流动方向 - **输入流**:主要用于从数据源读取数据。输入...

    Java IO流和文件操作实现过程解析

    Java中的IO流还可以用于读写文本文件。在读写文本文件时,需要使用适合的编码方式,例如UTF-8编码。Java中的IO流可以使用OutputStreamWriter对象来实现编码方式的转换。 Java中的IO流还可以用于读写二进制文件。在...

Global site tag (gtag.js) - Google Analytics