`

简单的读/写文本文件的示例

    博客分类:
  • 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读/写Txt文本文件的示例.rar

    JAVA对文件的操作,简单的读/写文本文件的示例,这里包含了三个例子,即  1. 将文件读入到内存(这里是StringBuffer)的例子  2. 将内容中的文本写到文件  3. 将一个文件的内容读出来写入另一个文件中  ...

    简单的用java实现读/写文本文件的示例

    在Java编程中,读写文本文件是常见的任务,特别是在处理数据存储、日志记录或配置文件等场景。本文将详细讲解如何使用Java实现文本文件的读取和写入操作,以及如何从一个输入流中读取内容并写入到另一个输出流中。 ...

    VBNET逐行读写文本文件

    在VB.NET编程环境中,处理文本文件是常见的任务之一,无论是读取数据、写入日志还是进行数据分析。本文将深入探讨如何使用VB.NET中的`FileOpen()`函数来实现文本文件的逐行读取和写入操作,同时关注如何避免写入的...

    简单的用java实现读写文本文件的示例.doc

    2. 将内容中的文本写到文件 3. 将一个文件的内容读出来写入另一个文件中 同时也展示了如果从输入流中读出来内容写入输出流中(仅限文本流) 三个例子可以独立存在,所以根据需要只看其中一个就行了

    JAVA简单的读写文本文件的代码

    在本示例中,`StringBuffer`用于逐行读取文件并将内容存储到缓冲区中。 #### 代码实现: ```java public void readToBuffer(StringBuffer buffer, InputStream is) throws IOException { String line; ...

    Delphi中读写TXT文件

    TXT文件是一种常见的文本文件格式,通常用于存储纯文本信息,不含任何格式化标记或指令。由于其简单易读的特性,TXT文件广泛应用于数据交换和日志记录等领域。在软件开发过程中,读写TXT文件是一项基本且常用的功能...

    linux下的文本文件读写操作

    在Linux操作系统中,文本文件的读写操作是程序员必须掌握的基本技能之一。本文将深入探讨如何使用C语言标准库中的`fwrite`和`fread`函数进行文本文件的读写操作,以及如何根据源代码进行修改和扩展。 首先,`fwrite...

    存储读取文本文件_读文本_

    8. **示例代码**:一个简单的VFP读取文本文件的示例代码可能如下: ```vfp LOCAL filenum, line filenum = OPEN("example.txt" FOR INPUT) WHILE NOT EOF(filenum) INPUT#(filenum, line) * 在这里处理读取到...

    以流式方式读写文本文件

    在开发过程中,我们经常使用Notepad来快速查看由C#程序创建的文本文件内容,或者作为简单的输入源,例如,将Notepad中的文本复制到C#程序中进行处理。 在C#中,除了`StreamReader`和`StreamWriter`之外,还有其他...

    java 将文件中二进制文件转换成文本文本文件并输出

    4. **写入文本文件**:使用`FileOutputStream`和`PrintStream`创建一个文本输出流,将ASCII字符写入文本文件。 5. **关闭流**:操作完成后,务必关闭输入流和输出流,防止资源泄露。 下面是一个简化的Java代码示例...

    易语言取指定文本行内容

    以下是一个简单的易语言代码示例,用于从文本文件中获取指定行的内容: ```易语言 .定义 整数型 iLineNum, iCounter .定义 字符型 sFilePath, sContent, sSpecifiedLine // 打开文件 .打开文件 sFilePath, 0...

    多文本文件合并

    与二进制文件不同,文本文件中的数据以人类可读的字符形式存储,这使得它们在跨平台操作和编程中非常方便。 要将多个文本文件合并,我们可以采用几种方法: 1. **手动复制粘贴**:最简单的办法是打开每个文本文件...

    C语言进行文件读写操作的示例代码.pdf

    `w+`表示可读可写,若文件不存在则创建。 - 如果文件打开失败,`fopen`返回`NULL`,程序会输出错误信息并退出。 2. **写入数据**: - `fprintf`函数用于向文件写入格式化的文本。本例中,将字符串`"Hello, world!...

    非常适合小白理解的C语言文件读写

    在这个示例中,我们同样使用了`fopen()`函数以读模式(`"r"`)打开文件`example.txt`。`fgets()`函数用于从文件中读取一行文本到缓冲区`buffer`中。该函数的第一个参数是目标缓冲区的地址,第二个参数是缓冲区的大小,...

    易语言去除文本文件中间的空格

    这个代码示例将读取名为“输入文件.txt”的文本文件,去除其中的所有空格,然后将结果写入“输出文件.txt”。请注意根据实际情况修改文件路径和名称。 通过这个过程,我们可以有效地去除文本文件中的空格,满足特定...

    火山PC写出内置资源文件例子

    以下是一个简单的示例代码,展示如何读取和写出资源文件: ```火山 .资源图片 := 取资源图片(“图片.bmp”) // 读取内置资源图片 .文件句柄 := 打开文件(“output.bmp”, “wb”) // 打开一个用于写入的文件 写图象...

    C#进行dat文件读写操作

    1. **C# CSV或txt文本文件读操作** 在C#中,读取CSV或txt文本文件通常使用`System.IO`命名空间下的`StreamReader`类。首先,需要打开文件流,然后逐行读取内容。以下是一个简单的示例: ```csharp using System...

    C#读文本文件

    在C#编程中,读取文本文件是一项基本操作,它涉及到对各种格式的文本数据进行处理,如CSV、Tab分隔以及固定宽度的文件。在本文中,我们将深入探讨如何使用C#有效地读取这些类型的文件。 首先,我们来看CSV(Comma ...

    完整版读文本文件(一行行的加入到列表框).e.rar

    本文将详细讲解如何使用编程语言(这里以Python为例)来实现“完整版读文本文件”并将每一行内容逐条添加到列表框(Listbox)中的方法。 首先,我们理解“读文本文件”的概念。文本文件是一种存储字符数据的文件...

Global site tag (gtag.js) - Google Analytics