统计文本中重复的内容

1.统计一个文本中重复的内容

package count;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class countWord {

    public static void main(String[] args) {
      count("F:\\A\\B.xml");
    }

public static void count(String filepath)
{
    try
    {
        File file = new File(filepath);
        if(!file.exists())
        {
            System.out.println("file not exist");
            return;
        }

        //create BufferedReader to improve efficient
        InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "UTF-8");
        BufferedReader bufReader = new BufferedReader(isr);
        String line = null;

        //create map collection to record information
        Map<String,Integer> map = new HashMap<String,Integer>();
        while((line = bufReader.readLine()) != null)
        {
            if(map.containsKey(line))
                map.put(line,map.get(line)+1);
            else
                map.put(line,1);
        }
        //print map collction
        showMap(map);
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }
}
private static void showMap(Map<String,Integer> map)
{
    if(map == null)
        return;
    Set<String> keyset = map.keySet();
    Iterator<String> it = keyset.iterator();
    int count = 0;
    while(it.hasNext())
    {
        String s = it.next();
        if(map.get(s) > 1) {//个数大于1
            System.out.println( s+ "......" + map.get(s));
            count++;
        }
    }
    System.out.println("重复两次的数据:" + count);
}
}

2.统计两个文本中重复的内容

package count;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class countWordTowFile {

    public static void main(String[] args) {
      count("F:\\A\\B.xml","C:\\D\\E.txt");
    }

public static void count(String filepath,String filepath2)
{
    try
    {
        File file = new File(filepath);
        File file2 = new File(filepath2);
        if(!file.exists() || !file2.exists())
        {
            System.out.println("file not exist");
            return;
        }

        //create BufferedReader to improve efficient
        InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "UTF-8");
        InputStreamReader isr2 = new InputStreamReader(new FileInputStream(file2), "UTF-8");
        BufferedReader bufReader = new BufferedReader(isr);
        BufferedReader bufReader2 = new BufferedReader(isr2);
        String line = null;
        String line2 = null;

        //create map collection to record information
        Map<String,Integer> map = new HashMap<String,Integer>();
        Map<String,Integer> map2 = new HashMap<String,Integer>();
        while((line = bufReader.readLine()) != null)//读取第一个文件中的数据
        {
            map.put(line,1);
        }
        while((line2 = bufReader2.readLine()) != null) {//读取第二个文件中的内容
            if(map.containsKey(line2)) {
                map2.put(line2,map.get(line2)+1);
            }
        }
        //print map collction
        showMap(map2);
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }
}
private static void showMap(Map<String,Integer> map)
{
    if(map == null)
        return;
    Set<String> keyset = map.keySet();
    Iterator<String> it = keyset.iterator();
    int count = 0;
    while(it.hasNext())
    {
        String s = it.next();
        System.out.println( s+ "......" + map.get(s));
        count++;

    }
    System.out.println("重复两次的数据:" + count);
}
}

原文地址:https://www.cnblogs.com/taiguyiba/p/8660207.html

时间: 2024-10-08 15:24:09

统计文本中重复的内容的相关文章

统计数组中重复元素个数

/** * 循环统计数组或集合中的重复元素个数 * @param args */ public static void main(String[] args) { Map<String, Integer> map = new HashMap<String, Integer>(); String[] ss = {"白","黑","绿","白"}; for (int i = 0; i < ss.len

Sed替换文本中的指定内容

可以这样做:方法1:sed -i 's/被替换的内容/要替换成的内容/' file 方法2:sed 's/被替换的内容/要替换成的内容/g' file > file.outmv file.out file 这里注意:不能这样做:sed 's/被替换的内容/要替换成的内容/g' file > file这样只会清空源文件. Sed替换文本中的指定内容,布布扣,bubuko.com

java统计文本中某个字符串出现的次数

原文: java统计文本中某个字符串出现的次数 源代码下载地址:http://www.zuidaima.com/share/1550463297014784.htm 统计文本中某个字符串出现的次数或字符串中指定元素出现的次数 文件样本: 程序查找的上此文件带"a"的字符在多少次 结果: package com.zuidaima.util.string; import java.io.*; /** * @author www.zuidaima.com **/ public class C

如何使用JS脚本从HTML中分离图片标签与文本,替换文本中指定的内容并加粗(原创)

var html='ddfsdfsdfdsd dfsdfsdffds<img _src="http://localhost:8490/60E86EA7-FE7B-44BF-8270-4DF2036B2118.PNG" data-latex="x=\frac {-b\pm \sqrt {{b}^{2}-4ac}} {2a}" src="http://localhost:8490/60E86EA7-FE7B-44BF-8270-4DF2036B2118.

php 通过 strtr 方法来替换文本中指定的内容

通过在文本中指定待替换的内容,如: [{name}] [{age}] 格式可以自己定义, 大概过程: 在文本中定义需要替换的文本内容: 以键值对的方式 组织数据(数组): 用 file_get_contents() 读取整个文件的内容: 再用 strtr() 替换内容. function make_content($file, array $vars = array()) { $pairs = array(); foreach ($vars as $name => $value) { $key

如何使用linux命令统计文本中某个单词的出现频率

使用这个命令查出文本中的单词出现频率按照由高到底排序 cat words.txt |tr -cs "[a-z][A-Z]" "[\012*]"|tr A-Z a-z|sort|uniq -c|sort -k1nr -k2|head -10 但是有时我们想查找出某一个单词的出现频率这时我们可以使用如下几个命令 文件名称:file  查找单词名称:word 操作命令: (1)more file | grep -o word | wc -l (2)cat file | g

Hadoop:统计文本中单词熟练MapReduce程序

这是搭建hadoop环境后的第一个MapReduce程序: 基于python的脚本: 1 map.py文件,把文本的内容划分成单词: #!/bin/pythonimport sys for line in sys.stdin:    data_list = line.strip().split()    for i in range(0, len(data_list)):        print data_list[i]         2 reduce文件,把统计单词出现的次数: #!/bi

shell统计文本中单词的出现次数

Ubuntu14.04 给定一个文本,统计其中单词出现的次数 # solution 1 grep与awk配合使用,写成一个sh脚本 fre.sh sh fre.sh wordfretest.txt #! /bin/bash# solution 1 if [ $# -eq 0 ] then echo "Usage:$0 args error" exit 0 fi if [ $# -ge 2 ] then echo "analyse the first file $1"

采用二叉搜索树来统计文本中单词出现的频率

把几个主要的函数组合起来即可: 1.从文本读取单个单词(去掉空格,特殊符号等) 2.用读出来的单词去更新搜索二叉树的节点(涉及二叉树的构建问题,递归) 3.中序遍历,来递归打印二叉树的每个节点 代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #define MAXWORD 1000 //单词出现频率的统计哦 struct tnode { cha