import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
/**
* 提供了一些"能让你将文本文件当作字符串来读写"的static方法。此外,你还可以创建一个
* "会把文件的内容逐行存入ArrayList的"TextFile类,这样在处理文件的时候,就能使用
* ArrayList的功能了。
*/
public class TextFile extends ArrayList {
/**
* 读取指定的文件到内存中
* @param fileName 文件名
* @return 将整个文件内容以字符串返回
* @throws IOException String
*/
public static String read(String fileName) throws IOException {
return read(fileName, System.getProperty("file.encoding"));
}
/**
*
* 以特定的编码方式读取指定的文件到内存中
* @param fileName 文件名
* @param encoding 编码方式
* @return 将整个文件内容以字符串返回
* @throws IOException String
*/
public static String read(String fileName, String encoding) throws IOException {
String lineSeparator = System.getProperty("line.separator");
StringBuffer sb = new StringBuffer();
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(
fileName), encoding));
String s;
while ((s = in.readLine()) != null) {
sb.append(s);
sb.append(lineSeparator);
}
in.close();
return sb.toString();
}
/**
* 把文本写入文件中
* @param fileName 文件名
* @param text 要写的文本
* @throws IOException void
*/
public static void write(String fileName, String text) throws IOException {
write(fileName, text, System.getProperty("file.encoding"));
}
/**
*
* 把文本以指定的编码方式写入文件中
* @param fileName 文件名
* @param text 要写的文本
* @param encoding 编码方式
* @throws IOException void
*/
public static void write(String fileName, String text, String encoding)
throws IOException {
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(fileName), encoding)));
out.print(text);
out.close();
}
/**
* 将指定的文件读出后以行为单位存入ArrayList中
* @param fileName 文件名
* @throws IOException
*/
public TextFile(String fileName) throws IOException {
super(Arrays.asList(read(fileName).split(System.getProperty("line.separator"))));
}
/**
* 将ArrayList中处理过后的文件写回到指定的文件中
* @param fileName 文件名
* @throws IOException void
*/
public void write(String fileName) throws IOException {
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(fileName)));
for (int i = 0; i < size(); i++)
out.println(get(i));
out.close();
}
public static void main(String[] args) throws Exception {
String file = read("src/TextFile.java", "GBK");
write("src/test.txt", file);
TextFile text = new TextFile("src/test.txt");
text.write("src/test2.txt");
for (int i = 0; i < text.size(); i++) {
System.out.println(text.get(i));
}
}
}
分享到:
相关推荐
### Android平台的txt文本文件读写操作 #### 一、引言 在Android应用程序开发过程中,文本文件(如.txt格式)的读写操作是常见需求之一。这些操作可以帮助开发者存储临时数据、配置信息或者实现简单的文件共享功能...
在IT领域,SD卡文件读写测试程序是一个关键的实用工具,主要用于评估和验证系统或设备对SD卡的读写性能。这样的程序通常由开发者使用,以确保在各种应用程序中,SD卡的数据存取功能正常且高效。在这个案例中,我们...
这在处理文本文件时特别实用,比如读取日志、CSV数据等。这个函数可能包括读取指定行的数据、处理行结束符(如换行符)以及错误处理等细节。 条件查询是高级功能,允许开发者根据特定条件筛选文件中的数据。这可能...
### 文本版本维护与实用程序 #### 知识点概览 本文将基于提供的文件信息——标题、描述、标签及部分代码内容,深入探讨其中涉及的关键技术知识点,包括但不限于文件操作、控制台输入输出以及条件判断等核心概念,...
.ini文件是一种轻量级的文本格式,用于存储应用程序的设置和配置信息。它们通常包含键值对,易于理解和编辑。C#提供了丰富的类库来处理这种类型的文件,如System.IO命名空间下的StreamReader、StreamWriter以及File...
C++中的文件读写是程序开发中不可或缺的一部分,主要用于数据持久化存储。在这个主题中,我们将深入探讨C++中用于文件操作的三个主要类:ofstream、ifstream和fstream,以及它们的相关使用方法。 ofstream 类是专门...
总结,这份“C#文件读写源代码”资源涵盖了从基础到高级的文件操作,可以帮助开发者理解并掌握C#中的文件系统操作,无论是在桌面应用、Web服务还是其他场景,这些知识都是非常实用的。通过学习和实践这些源代码,...
在IT领域,文本编辑器是开发者们日常工作中不可或缺的工具,用于创建、查看和修改各种文本文件。本文将深入探讨一个由Java编程语言实现的实用文本编辑器,它模仿了Windows操作系统自带的经典记事本功能。 Java是一...
在Delphi编程环境中,操作文本文件是一项基本且重要的任务,尤其在创建配置程序时,我们需要频繁地读取或写入文本文件以存储和检索数据。本文将深入探讨如何使用Delphi来实现对文本文件的读写操作。 首先,Delphi...
综上所述,"配置文本文件读取封装"是一个实用的工具,它简化了对配置文件的操作,特别是处理逗号分隔值的文件。通过使用C++的类封装,我们可以高效且安全地读取和处理大量配置信息,提高程序的可维护性和可扩展性。
程序首先打开名为input.txt的文本文件进行读取,使用fread函数将内容读取到缓冲区,并利用printf输出到控制台。随后,程序关闭了读取的文件。接下来,程序打开output.txt文件用于写入,通过fwrite函数将一个预定义的...
综上所述,易语言的多线程读取大文本文件源码是一个实用的示例,它展示了如何利用多线程并行处理大数据,以提高程序的运行效率。通过学习和理解这个源码,开发者可以更好地掌握易语言中的多线程编程技术,并将其应用...
这种功能在很多场景下都很实用,例如,当程序运行过程中,数据发生变化时,可以实时地将这些变化保存到文本文件中;反之,如果程序启动时检测到文本文件有更新,也会自动更新到超级列表框中,确保数据的一致性。 ...
4. **文件I/O操作**:为了实现文件的打开、保存和另存为功能,开发者需要使用Java的I/O流进行文件读写。java.io包提供了FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等类,用于处理文件的...
在MATLAB中,处理文件读写是非常常见的操作,这有助于在程序之间交换数据或保存中间结果。以下是一些MATLAB中常用的文件读写函数及其详细说明: 1. **textread**: `textread` 函数用于读取文本文件,它按照指定的...
总的来说,“MFC文本文件实时查看工具”是一个集实时更新、拖放支持和默认打开程序功能于一体的实用工具,展示了MFC在构建Windows桌面应用时的强大能力。开发者可以在此基础上进一步定制,如添加搜索、替换、高亮等...
在C#编程语言中,文件读写操作是基础且至关重要的功能,广泛应用于各种软件开发中,例如配置文件管理、日志记录等。本篇文章将深入探讨如何利用C#实现文件读写操作,并以配置文件为例,阐述具体的实现步骤。 首先,...
这种工具通常会有一个用户友好的界面,用户只需指定包含待转换文本文件的目录,然后选择输出的Excel文件格式和保存位置,程序就会自动处理剩下的工作。 转换过程中涉及的关键知识点包括: 1. 文件读取:工具需要...
"处理文本文件的程序代码.zip"这个压缩包可能包含了多种用于处理文本文件的代码示例,下面将详细介绍一些关于处理文本文件的关键知识点。 1. 文件操作函数: - `open()`: 这是Python中打开文件的基本方法,可以...
在C++编程中,文件读写操作是必不可少的一部分,它允许程序与外部文件进行数据交互。下面我们将深入探讨C++中的文件操作,包括文件的打开、读取、写入、关闭以及一些相关的实用技巧。 首先,C++通过`fstream`库提供...