• 统计IP地址C段出现多于5次的IP


    1、统计IP地址C段出现多于5次的IP

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Set;
    
    
    public class IPC5 {
    
    	public static void main(String[] args) throws IOException {
    		
    		HashSet<String> hs = new HashSet<>();
    		BufferedReader br = new BufferedReader(new FileReader("D:\ip.txt"));
    		BufferedWriter bw = new BufferedWriter(new FileWriter("D:\ipnew.txt"));
    		
    		String line;
    		while((line=br.readLine())!=null){
    			hs.add(line);
    		}
    		br.close();
    		ArrayList<String> list=new ArrayList<>();
    		list.addAll(hs);
    		
    		HashMap<String,Integer> hm=new HashMap<>();
    		for(int i=0;i<list.size();i++){
    			String[] str1 = list.get(i).split("\.\d*$");
    			//System.out.println(str1[0]);
    			
    			if(!hm.containsKey(str1[0])){
    				hm.put(str1[0], 1);
    			}
    			else{
    				hm.put(str1[0], hm.get(str1[0])+1);
    			}
    		}
    		
    		for(String key:hm.keySet()){
    			Integer num = hm.get(key);
    			if(num>=5){
    				for(int i=0;i<list.size();i++){
    					if(list.get(i).split("\.\d*$")[0].equals(key)){
    						bw.write(list.get(i));
    						System.out.println(list.get(i));
    						bw.write("
    ");
    					}
    				}
    			}
    		}
    		bw.close();
    		
    	}
    }
    

    1.1测试用例:

    1.2效果如图:

     

    2、java打jar包

    (1)用记事本写IPC5.java的文件

    (2)用命令行进入目录,编译这个文件

    javac IPC5.java

    (3)将编译后的IPC5.class文件打成jar包

    jar -cvf IPC5.jar IPC5.class

    c表示要创建一个新的jar包,v表示创建的过程中在控制台输出创建过程的一些信息,f表示给生成的jar包命名

    (4)运行jar包

    java -jar IPC5.jar 这时会报如下错误 IPC5.jar中没有主清单属性

      添加Main-Class属性

      用压缩软件打开IPC5.jar,会发现里面多了一个META-INF文件夹,里面有一个MENIFEST.MF的文件,用记事本打开

    1 Manifest-Version: 1.0
    2 Created-By: 1.8.0_121 (Oracle Corporation)
    3 

      在第三行的位置写入 Main-Class: IPC5 (注意冒号后面有一个空格,整个文件最后有一行空行),保存

      再次运行 java -jar IPC5.jar ,此时成功在控制台看到结果

    (5)生成bat处理

    新建IPC5.bat批处理,内容如下:

    java -jar IPC5.jar
    pause

    双击IPC5.bat执行效果如下:

    参考

    java打jar包的几种方式详解https://www.cnblogs.com/mq0036/p/8566427.html

     

  • 相关阅读:
    如何在Ubuntu 18.04上安装Memcached
    ubuntu安装mysql添加密码
    Django学习---快速搭建搜索引擎(haystack + whoosh + jieba)
    django3.x 使用haystack 报错:ImportError: cannot import name 'six' from 'django.utils'
    spring boot2之Jackson和ObjectMapper
    python之装饰器强制函数上的类型检查
    python之*args和**kwargs的区别
    Python之@property
    python基础语法之and,or,not
    小案例
  • 原文地址:https://www.cnblogs.com/wmiot/p/11101515.html
Copyright © 2020-2023  润新知