/*
* 简单的读/写文本文件的示例
* 这里包含了三个例子,即
* 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对文件的操作,简单的读/写文本文件的示例,这里包含了三个例子,即 1. 将文件读入到内存(这里是StringBuffer)的例子 2. 将内容中的文本写到文件 3. 将一个文件的内容读出来写入另一个文件中 ...
在Java编程中,读写文本文件是常见的任务,特别是在处理数据存储、日志记录或配置文件等场景。本文将详细讲解如何使用Java实现文本文件的读取和写入操作,以及如何从一个输入流中读取内容并写入到另一个输出流中。 ...
在VB.NET编程环境中,处理文本文件是常见的任务之一,无论是读取数据、写入日志还是进行数据分析。本文将深入探讨如何使用VB.NET中的`FileOpen()`函数来实现文本文件的逐行读取和写入操作,同时关注如何避免写入的...
2. 将内容中的文本写到文件 3. 将一个文件的内容读出来写入另一个文件中 同时也展示了如果从输入流中读出来内容写入输出流中(仅限文本流) 三个例子可以独立存在,所以根据需要只看其中一个就行了
在本示例中,`StringBuffer`用于逐行读取文件并将内容存储到缓冲区中。 #### 代码实现: ```java public void readToBuffer(StringBuffer buffer, InputStream is) throws IOException { String line; ...
TXT文件是一种常见的文本文件格式,通常用于存储纯文本信息,不含任何格式化标记或指令。由于其简单易读的特性,TXT文件广泛应用于数据交换和日志记录等领域。在软件开发过程中,读写TXT文件是一项基本且常用的功能...
在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`之外,还有其他...
4. **写入文本文件**:使用`FileOutputStream`和`PrintStream`创建一个文本输出流,将ASCII字符写入文本文件。 5. **关闭流**:操作完成后,务必关闭输入流和输出流,防止资源泄露。 下面是一个简化的Java代码示例...
以下是一个简单的易语言代码示例,用于从文本文件中获取指定行的内容: ```易语言 .定义 整数型 iLineNum, iCounter .定义 字符型 sFilePath, sContent, sSpecifiedLine // 打开文件 .打开文件 sFilePath, 0...
与二进制文件不同,文本文件中的数据以人类可读的字符形式存储,这使得它们在跨平台操作和编程中非常方便。 要将多个文本文件合并,我们可以采用几种方法: 1. **手动复制粘贴**:最简单的办法是打开每个文本文件...
`w+`表示可读可写,若文件不存在则创建。 - 如果文件打开失败,`fopen`返回`NULL`,程序会输出错误信息并退出。 2. **写入数据**: - `fprintf`函数用于向文件写入格式化的文本。本例中,将字符串`"Hello, world!...
在这个示例中,我们同样使用了`fopen()`函数以读模式(`"r"`)打开文件`example.txt`。`fgets()`函数用于从文件中读取一行文本到缓冲区`buffer`中。该函数的第一个参数是目标缓冲区的地址,第二个参数是缓冲区的大小,...
这个代码示例将读取名为“输入文件.txt”的文本文件,去除其中的所有空格,然后将结果写入“输出文件.txt”。请注意根据实际情况修改文件路径和名称。 通过这个过程,我们可以有效地去除文本文件中的空格,满足特定...
以下是一个简单的示例代码,展示如何读取和写出资源文件: ```火山 .资源图片 := 取资源图片(“图片.bmp”) // 读取内置资源图片 .文件句柄 := 打开文件(“output.bmp”, “wb”) // 打开一个用于写入的文件 写图象...
1. **C# CSV或txt文本文件读操作** 在C#中,读取CSV或txt文本文件通常使用`System.IO`命名空间下的`StreamReader`类。首先,需要打开文件流,然后逐行读取内容。以下是一个简单的示例: ```csharp using System...
在C#编程中,读取文本文件是一项基本操作,它涉及到对各种格式的文本数据进行处理,如CSV、Tab分隔以及固定宽度的文件。在本文中,我们将深入探讨如何使用C#有效地读取这些类型的文件。 首先,我们来看CSV(Comma ...
本文将详细讲解如何使用编程语言(这里以Python为例)来实现“完整版读文本文件”并将每一行内容逐条添加到列表框(Listbox)中的方法。 首先,我们理解“读文本文件”的概念。文本文件是一种存储字符数据的文件...