`
53873039oycg
  • 浏览: 841705 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[简单]txt文件读写

    博客分类:
  • java
 
阅读更多

       下面的代码主要用于合并多个txt文件为一个,可能有更好的方法合并多个txt文件,代码如下

        

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Txt文件合并_S3_Test {
	public static void main(String[] args) {
		Txt文件合并_S3_Test t = new Txt文件合并_S3_Test();
		t.mergeAllTextFile("F:/saveFile/temp/03隋唐五代文学");
	}

	public void mergeAllTextFile(String textFolderPath) {
		File file = new File(textFolderPath);
		if (!file.exists()) {
			return;
		}
		try {
			File[] files = getFileList(file);
			List<File> fileList = Arrays.asList(files);
			Collections.sort(fileList, new Comparator<File>() {
				public int compare(File o1, File o2) {
					if (o1.isDirectory() && o2.isFile())
						return -1;
					if (o1.isFile() && o2.isDirectory())
						return 1;
					return o1.getName().compareTo(o2.getName());
				}
			});
			String outputPath = textFolderPath;
			if (textFolderPath.indexOf("/") > -1) {
				outputPath = textFolderPath.substring(textFolderPath.lastIndexOf("/"));
			}
			outputPath = new String(textFolderPath+ File.separator+ replaceStr(outputPath,"[^\u4e00-\u9fa5\u300a\u300b]", "")+ ".txt");
			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputPath), "utf-8"));
			for (File f : fileList) {
				String str = readFileContentToString(f);
				bw.write(str, 0, str.length());
			}
			bw.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private File[] getFileList(File file) {
		FileFilter textFilter = new FileFilter() {
			public boolean accept(File pathname) {
				if ((pathname.isFile() && pathname.getName().endsWith(".txt")))
					return true;
				else
					return false;
			}
		};
		return file.listFiles(textFilter);
	}

	private String readFileContentToString(File file) {
		BufferedReader reader = null;
		StringBuffer sb = new StringBuffer();
		sb.append("\r\n"+replaceStr(file.getName(),"[^\u300a\u300b\u4e00-\u9fa5\uFF00-\uFFEF]", "")+ "\r\n");
		try {
			reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "gbk"));
			String content = null;
			while ((content = reader.readLine()) != null) {
				if (content.trim().length() > 0) {
					content = replaceStr(content, "(@|#|\\$|&)", "");
					sb.append(content + "\r\n");
				}
			}
			reader.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return sb.toString();
	}
	
	private String replaceStr(String str, String pattern, String replaceStr) {
		return new String(str.replaceAll(pattern, replaceStr));
	}

}

    结果为:

   

        全文完

 

  • 大小: 303.3 KB
0
0
分享到:
评论

相关推荐

    C#:TXT文件读写(VS2010窗体+代码)

    通过以上步骤,你可以在C#中实现一个简单的TXT文件读写功能。这个基础可以帮助你构建更复杂的文件处理逻辑,例如日志记录、配置文件管理等。在实际项目中,还需要根据需求进行错误处理、性能优化和用户体验提升。

    Delphi中读写TXT文件

    ### Delphi中读写TXT文件的关键知识...这些示例代码为初学者提供了很好的起点,展示了如何在Delphi中实现基本的TXT文件读写功能。通过这些基础操作的学习和实践,可以为进一步探索更复杂的数据处理任务奠定坚实的基础。

    unity读写.txt文件

    以上就是使用Unity和C#进行TXT文件读写的基本操作。在实际项目中,可能需要根据具体需求进行更复杂的处理,例如检查文件是否存在、处理大文件、处理编码问题等。在压缩包中的`RWtxt.cs`文件应该包含了具体的实现代码...

    mfc例程之读写txt文件

    本文将深入探讨如何使用MFC来实现对TXT文件的读写操作,这对于任何需要处理文本数据的Windows应用都是基础且重要的。 首先,我们需要了解MFC中的CFile类,它是所有文件操作的基础。CFile类提供了标准的文件操作接口...

    简单的文件读写器

    我们将围绕C#的文件操作、TXT文件读写以及DOC文件读写等知识点进行详细讲解。 首先,C#提供了丰富的类库来处理文件操作,其中System.IO命名空间是核心部分。例如,`FileStream`用于直接操作文件流,`StreamReader`...

    Qt5.8 打开指定路径txt文件 读写TXT文件

    以下是一个简单的示例,展示了如何打开一个指定路径的TXT文件: ```cpp #include #include #include void openAndDisplayContent(const QString &filePath) { QFile file(filePath); if (!file.open...

    MFC txt文件读写.pdf

    MFC-txt文件读写 MFC(txt文件读写)是Microsoft Foundation Classes(MFC)中的一种文本文件读写机制,...MFC-txt文件读写提供了一个简单快捷的方式来读取和写入文本文件,使得开发者可以方便地对文本文件进行操作。

    Android平台的txt文本文件读写操作

    ### Android平台的txt文本文件读写操作 #### 一、引言 在Android应用程序开发过程中,文本文件(如.txt格式)的读写操作是常见需求之一。这些操作可以帮助开发者存储临时数据、配置信息或者实现简单的文件共享功能...

    Ruby读写txt文件

    总结来说,Ruby通过`File`类提供了一套简单易用的API,使得读写txt文件变得非常方便。无论是逐行读取、一次性读取,还是写入或追加内容,都只需要几行代码就能实现。同时,通过异常处理和上下文管理,确保了文件操作...

    delphi 文件读写

    下面是一个简单的文本文件读写示例: ```delphi uses System.Classes, System.SysUtils; var FileStream: TFileStream; TextStream: TTextStream; FileName: string; LineContent: string; begin FileName ...

    ASP.NET读写TXT文件[全浏览器通用]

    本篇将深入探讨如何在ASP.NET环境中实现全浏览器通用的TXT文件读写功能。 首先,读取TXT文件的基本步骤包括打开文件、读取内容和关闭文件。在ASP.NET中,我们可以使用System.IO命名空间下的StreamReader类来完成这...

    Android应用程序中读写txt文本文件的基本方法讲解

    首先,我们来看一下Android应用中读取txt文件的基本步骤: 1. **获取Context对象**:在Activity、Service或其他类中,通常可以直接使用`this`关键字作为`Context`对象,或者通过构造函数传递`Context`。 2. **使用...

    C#读写TXT文件

    如果你对更高级的文件处理技术感兴趣,还可以进一步学习如何使用异步I/O操作来提高文件读写的性能,或者探索如何使用`Path`和`Directory`类来处理文件路径和目录结构等问题。这些主题将在后续的文章中详细介绍。

    Android 文件读写操作

    在Android系统中,文件读写操作是开发过程中常见的任务,涉及到资源文件、数据区文件以及外部存储(如SD卡)的访问。以下是对这些操作的详细说明: 一、资源文件的读取 1. 从resource的raw中读取文件数据: 资源...

    易语言TXT读写

    用于易语言TXT读写重复查找读取保存后再返回内容用于简单的TXT读写

    采用无缓冲方式实现文件读写.docx

    "采用无缓冲方式实现文件读写" 本文档是武汉大学计算机学院《Windows原理与应用》课程实验报告,旨在介绍如何使用无缓冲方式实现文件读写。该实验报告的主要内容包括实验目的、实验设计、实验原理和实验步骤等方面...

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

    通过上述四个主要部分的分析,我们可以看到Java语言在处理文件读写方面提供了丰富的API支持。使用合适的类库可以极大地简化开发工作并提高程序的性能。例如,使用`StringBuffer`可以有效地处理字符串的动态增长;而`...

    C#文件读写常用类介绍

    无论是简单的文件读写,还是复杂的文件移动、复制操作,都可以通过这些方法轻松实现。此外,对于更高级的需求,还可以考虑使用`FileStream`类来进行更细致的文件读写控制。掌握这些基本技能,能够帮助开发者更高效地...

    STM32读写SD卡中的FAT文件_FATFS读写txt_stm32SD_stm32SD卡_

    本节将详细介绍如何使用STM32通过FAT文件系统读写SD卡中的TXT文件。 1. **FATFS文件系统** FAT文件系统(File Allocation Table)是一种常见的磁盘分区格式,包括FAT16、FAT32和VFAT等版本。在STM32中,我们通常...

    vb.net读写TXT文件示例

    在VB.NET中,读写TXT文件是常见的任务,主要用于数据存储和日志记录等场景。以下将详细讲解如何使用VB.NET进行TXT文件的读写操作,以及相关的关键知识点。 首先,打开TXT文件进行读取。在VB.NET中,我们可以使用`...

Global site tag (gtag.js) - Google Analytics