`

文本文件读写实用程序

    博客分类:
  • Java
阅读更多
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文本文件读写操作 #### 一、引言 在Android应用程序开发过程中,文本文件(如.txt格式)的读写操作是常见需求之一。这些操作可以帮助开发者存储临时数据、配置信息或者实现简单的文件共享功能...

    SD卡文件读写测试程序

    在IT领域,SD卡文件读写测试程序是一个关键的实用工具,主要用于评估和验证系统或设备对SD卡的读写性能。这样的程序通常由开发者使用,以确保在各种应用程序中,SD卡的数据存取功能正常且高效。在这个案例中,我们...

    易语言大文件读写模块

    这在处理文本文件时特别实用,比如读取日志、CSV数据等。这个函数可能包括读取指定行的数据、处理行结束符(如换行符)以及错误处理等细节。 条件查询是高级功能,允许开发者根据特定条件筛选文件中的数据。这可能...

    文本版本维护与实用程序

    ### 文本版本维护与实用程序 #### 知识点概览 本文将基于提供的文件信息——标题、描述、标签及部分代码内容,深入探讨其中涉及的关键技术知识点,包括但不限于文件操作、控制台输入输出以及条件判断等核心概念,...

    c#读写.ini文本文件 非常实用

    .ini文件是一种轻量级的文本格式,用于存储应用程序的设置和配置信息。它们通常包含键值对,易于理解和编辑。C#提供了丰富的类库来处理这种类型的文件,如System.IO命名空间下的StreamReader、StreamWriter以及File...

    C++文件读写详解

    C++中的文件读写是程序开发中不可或缺的一部分,主要用于数据持久化存储。在这个主题中,我们将深入探讨C++中用于文件操作的三个主要类:ofstream、ifstream和fstream,以及它们的相关使用方法。 ofstream 类是专门...

    C#文件读写源代码(免费)

    总结,这份“C#文件读写源代码”资源涵盖了从基础到高级的文件操作,可以帮助开发者理解并掌握C#中的文件系统操作,无论是在桌面应用、Web服务还是其他场景,这些知识都是非常实用的。通过学习和实践这些源代码,...

    文本编辑器(java写的实用小程序)

    在IT领域,文本编辑器是开发者们日常工作中不可或缺的工具,用于创建、查看和修改各种文本文件。本文将深入探讨一个由Java编程语言实现的实用文本编辑器,它模仿了Windows操作系统自带的经典记事本功能。 Java是一...

    delphi 操作文本文件

    在Delphi编程环境中,操作文本文件是一项基本且重要的任务,尤其在创建配置程序时,我们需要频繁地读取或写入文本文件以存储和检索数据。本文将深入探讨如何使用Delphi来实现对文本文件的读写操作。 首先,Delphi...

    配置文本文件读取封装

    综上所述,"配置文本文件读取封装"是一个实用的工具,它简化了对配置文件的操作,特别是处理逗号分隔值的文件。通过使用C++的类封装,我们可以高效且安全地读取和处理大量配置信息,提高程序的可维护性和可扩展性。

    c语言文件读写操作代码.zip

    程序首先打开名为input.txt的文本文件进行读取,使用fread函数将内容读取到缓冲区,并利用printf输出到控制台。随后,程序关闭了读取的文件。接下来,程序打开output.txt文件用于写入,通过fwrite函数将一个预定义的...

    MiniDemoCSV1_TwinCAT3读写CSV文件_twincat_bicyclef1q_

    【MiniDemoCSV1_TwinCAT3读写CSV文件_twincat_bicyclef1q_】是一个基于TwinCAT3的示例项目,它演示了如何在自动化编程中...通过深入理解并实践这个示例,开发者可以掌握在TwinCAT3环境下高效地处理文本文件的关键技巧。

    易语言多线程读取大文本文件源码

    综上所述,易语言的多线程读取大文本文件源码是一个实用的示例,它展示了如何利用多线程并行处理大数据,以提高程序的运行效率。通过学习和理解这个源码,开发者可以更好地掌握易语言中的多线程编程技术,并将其应用...

    W25Q256四字节读写程序.zip_W25Q256 开发板_W25Q256地址访问_w25q256fv读写_w25q程序_w2

    压缩包内的文件"**W25Q256四字节读写程序.docx**"很可能包含详细的程序代码示例、操作步骤和可能遇到的问题及解决方案。文档可能涵盖了如何配置SPI接口、设置地址、执行读写操作的API调用,以及如何进行错误处理等...

    易语言超级列表框与文本文件同步源码

    这种功能在很多场景下都很实用,例如,当程序运行过程中,数据发生变化时,可以实时地将这些变化保存到文本文件中;反之,如果程序启动时检测到文本文件有更新,也会自动更新到超级列表框中,确保数据的一致性。 ...

    JAVA编写的文本编辑程序

    4. **文件I/O操作**:为了实现文件的打开、保存和另存为功能,开发者需要使用Java的I/O流进行文件读写。java.io包提供了FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等类,用于处理文件的...

    matlab文件读写程序的汇总.pdf

    在MATLAB中,处理文件读写是非常常见的操作,这有助于在程序之间交换数据或保存中间结果。以下是一些MATLAB中常用的文件读写函数及其详细说明: 1. **textread**: `textread` 函数用于读取文本文件,它按照指定的...

    MFC文本文件实时查看工具

    总的来说,“MFC文本文件实时查看工具”是一个集实时更新、拖放支持和默认打开程序功能于一体的实用工具,展示了MFC在构建Windows桌面应用时的强大能力。开发者可以在此基础上进一步定制,如添加搜索、替换、高亮等...

    c#语言实现文件读写操作

    在C#编程语言中,文件读写操作是基础且至关重要的功能,广泛应用于各种软件开发中,例如配置文件管理、日志记录等。本篇文章将深入探讨如何利用C#实现文件读写操作,并以配置文件为例,阐述具体的实现步骤。 首先,...

    批量将文本文件转为EXCEL

    这种工具通常会有一个用户友好的界面,用户只需指定包含待转换文本文件的目录,然后选择输出的Excel文件格式和保存位置,程序就会自动处理剩下的工作。 转换过程中涉及的关键知识点包括: 1. 文件读取:工具需要...

Global site tag (gtag.js) - Google Analytics