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("\r\n");
}
}
}
}
bw.close();
}
}
(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