package com.txt;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
/**
* Reader and Writer(读取多个txt文件,去掉重复元素,再写入一个新的txt文件。)
*
* @author Administrator
*
*/
public class Raw {
/**
* 读取指定目录下的txt文件,并添加到set里面(即去掉重复元素)
*
* @param path
* @return setStr
*/
public static Set<String> Reader(String path) {
Set<String> setStr = new HashSet<String>();
try {
String encoding = "GBK";
File file = new File(path);
String[] fileList = file.list();
for (String fl : fileList) {
String newPath = path + "\\" + fl;
InputStreamReader read = new InputStreamReader(
new FileInputStream(newPath), encoding);// 考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while ((lineTxt = bufferedReader.readLine()) != null) {
if (!lineTxt.trim().equals("")) {
setStr.add(lineTxt);
}
}
read.close();
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}
return setStr;
}
/**
* 将set里面的数据写入到一个新的txt文件里面
*
* @param str
* @throws IOException
*/
public static void Writer(Set<String> str) throws IOException {
FileWriter fileWriter = new FileWriter("D:\\Result.txt");
int count = 0;
for (String string : str) {
if (!string.trim().equals("")) {
count++;
fileWriter.write(string.trim() + "\r\n");
}
}
System.out.println(count);
fileWriter.flush();
fileWriter.close();
}
public static void main(String[] args) throws IOException {
System.out.println("set>>>" + Reader("D:\\Stop words"));
Writer(Reader("D:\\Stop words"));
}
}
- 浏览: 25024 次
- 性别:
相关推荐
"Java去重txt文件内容(按行)"这个主题涉及到如何利用Java语言有效地读取TXT文件,并通过比较两份文件的内容来消除重复的行。在这个过程中,Java 8引入的新特性——流(Stream)和并行流(Parallel Stream)起到了关键...
在处理JSON数据时,可能会遇到重复元素的情况,尤其是在合并多个数据源或者从数据库中读取数据时。去除这些重复项对于提高数据质量、减少存储空间以及优化性能都有重要意义。 ### 实现方法:使用HashSet去重 在...
合并数组并且转为有序去重集合,我看到很多资源博客,百度都弄的很繁琐,所以自己总结描述了一下
首先,可以将多个链表两两合并成较短的链表,然后再次合并这些新链表,直至只剩下一个链表。具体步骤如下: 1. 初始化一个空的新链表。 2. 对于每个输入的有序链表,找到最小的元素并将其插入新链表,然后移除该元素...
当你需要处理多个同名的DBF文件时,可能会遇到需要合并这些文件的需求。以下将详细介绍如何进行DBF文件的合并以及相关的知识点。 1. **DBF文件结构** - DBF文件包含了表的结构信息(字段名、类型、长度等)和数据...
Java 8中引入了Stream API, Stream API提供了一个简单的方法来实现List去重。下面是一个示例代码: ```java List<User> users = Lists.newArrayList( new User(1, "a"), new User(1, "b"), new User(2, "b"), ...
【Java中List集合对象去重及按属性去重的8种方法】 在Java编程中,当我们处理包含重复元素的List时,有时需要去除其中的重复项。以下文章将详细介绍8种针对List集合对象去重的方法,包括基于对象整体以及按特定属性...
本篇将聚焦于FindBugs在处理多个文件合并时的具体细节问题。 FindBugs通过分析Java字节码来查找可能的问题,其输出通常是以XML格式的报告。在大型项目中,一个构建过程可能涉及到多个源代码目录或模块,这时就需要...
在Java8中,合并两个Map中的元素是一项常见的操作,尤其是在处理数据集合时。本文将深入探讨如何正确地合并两个Map,重点介绍两种方法:`Map.merge()` 和 `Stream.concat()`。这两种方法在处理Map合并时有各自的特点...
题目中提到了"java 数组的合并.zip",可能涉及到多个数组合并并去重的问题。可以使用ArrayList或其他集合类先分别添加各个数组,然后通过Set进行去重: ```java Integer[] array1 = {1, 2, 3}; Integer[] array2 = {...
在这个框架下,程序员可以使用多种语言编写应用程序,不仅限于Java,还包括Python、Scala和其他支持的脚本语言。 理论部分: 1. **MapReduce编程模型**:MapReduce的核心是Map和Reduce两个函数。Map负责将输入数据...
在Java编程中,合并多个List并去除重复元素是一项常见的任务,尤其在处理数据集合时。在给定的案例中,我们看到两种不同的方法来完成这个任务。首先,让我们详细讲解这两种方法。 ### 1. 使用`addAll()`和`...
在实际的网络环境中,可能会存在多个连续或不连续的IP地址段,这些IP段可能因为历史原因、网络规划或者临时需求而产生。IP区间合并就是将这些分散的IP地址整合成更少、更集中的IP段,降低管理复杂性,提高资源利用率...
本压缩包提供了27个常用的Java工具类,涵盖了编码解码、安全加密、日期时间处理、文件操作等多个领域。以下是这些工具类的详细介绍: 1. **Base64Util**:这是一个用于Base64编码和解码的工具类。Base64是一种广泛...
题目要求在Java编程环境下,解决一道银行春季招聘笔试题。该题目涉及的主要知识点包括: 1. **输入处理**:程序...通过上述分析,我们可以编写出一个符合题目要求的Java程序,实现有序数列的合并、去重和有序输出。
想要合并两个或多个数组,ArrayUtils的`addAll()`方法可以轻松完成。这个方法会返回一个新的数组,包含所有输入数组的元素。 3. **数组填充** 如果你需要快速地用特定值填充数组,`fill()`方法是个好选择。只需要...
在这个"javautils"压缩包中,我们可以预见到包含了一些自定义的Java工具类,可能涵盖了字符串处理、日期时间操作、集合操作等多个方面。 1. **字符串处理**: JavaUtils中的字符串工具类可能会包含一些扩展了Java...
4. **写入结果**:处理完后,将无重复行的数据写入新的TXT文件,这样就形成了一个去重后的字典。 5. **优化效率**:在处理大量数据时,为了提高速度,可以使用更高级的数据结构,如Python的`pandas`库中的DataFrame...
因此,当你需要合并两个或多个字符串时,需要通过特定的方法或构造器来创建一个新的字符串。在给定的示例中,我们需要将两个包含逗号分隔数字的字符串合并,并确保结果不包含重复项。下面我们将详细探讨如何实现这个...
- 方案1:采用分治策略,将大文件按哈希值分散到多个小文件中,然后两两比较小文件中的URL,利用HashSet存储一个文件的URL,遍历另一个文件检查是否存在,找到共同的URL。 - 方案2:使用Bloom Filter,这是一种...