`

去除重复的字符串java工具

    博客分类:
  • j2ee
 
阅读更多
/**
 * RepeatServiceTest.java
 * com.eetop.spider.util.service
 *
 * Function: TODO 
 *
 *   ver     date      		author
 * ──────────────────────────────────
 *   		 2012-8-23 		zhangzenglun
 *
 * Copyright (c) 2012, TNT All Rights Reserved.
*/

package com.eetop.spider.util.service;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashSet;
import java.util.Iterator;

import org.junit.Test;

/**
 * ClassName:RepeatServiceTest
 *
 * @author   zhangzenglun
 * @version  1.0
 * @since    v1.0
 * @Date	 2012-8-23 上午11:24:51 
 */
public class RepeatServiceTest {

	
	@Test
	public void testRepeat(){
		filterFileRepeatContent("J:\\xx\\云录\\insert_job.sql","J:\\xx\\云录\\insert_job_new.sql","GBK");
	}

	private void filterFileRepeatContent(String oriFile,String destFile,String charSet) {
		HashSet<String> set = new HashSet<String>();
		FileInputStream fin = null;
		FileOutputStream fout = null;
		BufferedReader br = null;
		BufferedWriter bw = null;
		try {
			fin = new FileInputStream(oriFile);
			fout = new FileOutputStream(destFile);
			br = new BufferedReader(new InputStreamReader(fin,charSet));
			bw = new BufferedWriter(new OutputStreamWriter(fout,charSet));
			String line = null;
			while((line = br.readLine())!=null) {
				set.add(line);
			}
			
			Iterator<String> it = set.iterator();
			String sql = null;
			while(it.hasNext()) {
				sql = it.next();
				System.out.println(sql);
				bw.write(sql);
				bw.newLine();
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (br!=null) {
				try {
					br.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if (fin != null) {
				try {
					fin.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if (bw!=null) {
				try {
					bw.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if (fout != null) {
				try {
					fout.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}


分享到:
评论

相关推荐

    去除重复字符工具_字符_

    标题"去除重复字符工具_字符_"所暗示的是一款专门用于处理字符串中重复字符的工具。这款工具的主要功能是帮助用户快速有效地从输入的文字中去除重复的字符,使得输出的文本只包含唯一的字符。这一特性在很多情况下都...

    java 字符串操作类

    `StringUtil` 类是这样一个工具类,它集合了多种常用的字符串处理方法,以提高开发效率并减少代码重复。在这个类中,我们可以找到包括分隔、插入、判断字符串状态(空或非空)、去除空格等多种功能,这些都是在实际...

    删除重复字符

    对于“删除重复字符”的问题,HashSet是一个理想的工具,因为它不允许存储重复元素。 首先,我们需要创建一个HashSet,然后遍历输入的字符串。对于每个字符,我们检查它是否已经在HashSet中。如果不在,就将其添加...

    java 插入新的字符串

    `StringBufferDemo_05.java`可能包含一个示例,演示如何在循环中使用`StringBuffer`来构建字符串,从而避免`String`的重复创建: ```java public class StringBufferDemo_05 { public static void main(String[] ...

    JAVA中处理字符串的类

    通过自定义工具类,开发者可以将这些常见的字符串操作封装起来,避免重复编写相同的代码,同时也可以根据项目需求定制特殊功能。例如,对于处理日期字符串的格式化,工具类可能包含专门的方法,以统一处理日期的转换...

    替换文件中指定字符串_批处理工具

    1. fr.exe:这是批处理工具的执行文件,很可能是一个用编程语言(如C++、Python或Java)编写的可执行程序,负责实现字符串替换的逻辑。用户只需运行这个程序,并按照提示输入需要替换的字符串和目标字符串,以及文件...

    字符串批量替换小工具(java版)

    标题中的“字符串批量替换小工具(java版)”表明这是一个使用Java编程语言实现的程序,它的主要功能是对字符串进行批量替换操作。在IT行业中,批量处理往往指的是处理大量数据或执行重复任务,而字符串替换是文本处理...

    删除字符串中的空格或将字符串的多个空格换位单个空格

    本文将深入探讨如何在Java中删除字符串中的空格,或者将连续的多个空格替换为单个空格。这个操作在数据清洗、格式化用户输入或优化存储时尤为有用。 首先,我们来看一个名为`StringUtil.java`的文件,它很可能包含...

    Java常用工具类(持续发布,第一部分:日期、字符串、JSON工具类等)

    Java中,`java.lang.String`类本身提供了丰富的操作方法,如`isEmpty()`用于判断字符串是否为空,`trim()`用于去除字符串两端的空白字符。但有时我们还需要更复杂的功能,这时可以借助Apache Commons Lang库中的`...

    时间与字符串工具类

    在Java编程中,工具类(Util classes)是...这些工具类提高了代码的可读性和可维护性,避免在每个需要处理字符串或日期的地方重复编写相同的逻辑。在实际项目中,它们经常被广泛使用,以确保数据处理的一致性和准确性。

    字符串处理算法

    字典树是一种树形结构,用来存储字符串集合,特别适用于实现字符串的快速检索、插入和删除等操作。字典树的每个节点包含若干个指向子节点的指针,一般用于存储字符串的字符。AC自动机,又称为Aho-Corasick自动机,是...

    sql函数实现去除字符串中的相同的字符串

    在SQL中,有时我们需要处理字符串数据,特别是在进行数据清洗或数据...然而,由于SQL不是设计用来处理大量字符串操作的语言,对于大规模的数据处理,可能需要考虑其他更高效的数据处理工具或语言,如Python、Java等。

    Java字符串逗号分割实现.pptx.pptx

    - `split()`方法是实现字符串分割的核心工具,它能按照指定的分隔符(正则表达式)将字符串拆分成数组。 - 例如,如果字符串`"a,b,c"`,调用`str.split(",")`会得到`["a", "b", "c"]`的数组。 5. **将字符串转换...

    Java中字符串中连续相同字符去重方法

    本文将详细探讨如何实现一个功能,即去除字符串中连续重复的字符。这个需求在某些特定场景下,如数据清洗、文本处理等,可能会非常有用。我们将通过一个具体的示例来阐述这个问题的解决方案。 首先,问题的核心是找...

    用Java正则去掉字符串中重复出现的字符

    ### 使用Java正则表达式去除字符串中的重复字符 在日常的软件开发工作中,经常会遇到需要处理字符串的问题。其中,一种常见的需求就是去除字符串中的重复字符。例如,将一个字符串 `...

    通用的Java工具类,主要包括基础工具类(时间、正则表达式、字符串、随机数等等),excel解析生成、word解析生成、文件操作

    JavaUtils 是一个强大的Java工具库,它集合了各种常见的实用工具类,旨在简化开发过程中的常见任务,提高代码的可重用性和效率。这个库涵盖了多个领域的功能,包括时间处理、正则表达式操作、字符串操作以及随机数...

    导出工具类和字符串简易处理工具类和API文档

    1. **去指定前后缀**:该功能允许开发者删除字符串的特定前缀或后缀,例如去除URL中的"www."或者文件路径的".txt"后缀。 2. **保留小数位**:这个功能能够对数字字符串进行格式化,根据需求保留指定的小数位数,如...

    java工具类(String)

    Java中的字符串处理是编程工作中非常常见且重要的任务,而String工具类则提供了许多方便实用的方法,使得我们在处理字符串时能够更加高效。以下是对Java String工具类的详细解析: 首先,了解Java中的String类。在...

    27个java工具类

    本压缩包提供了27个常用的Java工具类,涵盖了编码解码、安全加密、日期时间处理、文件操作等多个领域。以下是这些工具类的详细介绍: 1. **Base64Util**:这是一个用于Base64编码和解码的工具类。Base64是一种广泛...

    AhoCorasickAutomation.rar_字符串字典_有限状态自动机

    字典树允许我们快速地插入、删除和查找字符串,其关键在于避免了对相同前缀的重复处理。 然后,Aho-Corasick 算法在此基础上引入了“失败指针”(Failure Link)的概念。失败指针是从当前节点指向一个特定节点的...

Global site tag (gtag.js) - Google Analytics