Download IO_stream_project/Case_module/src/case_package1/Test2.java from zxy0307/Java: direct link, hf CLI and curl.
- Browser
- Download file 3.05 kB
-
https://huggingface.co/zxy0307/Java/resolve/main/IO_stream_project/Case_module/src/case_package1/Test2.java
- Command line
-
hf download hf://zxy0307/Java/IO_stream_project/Case_module/src/case_package1/Test2.java
-
curl -L -o Test2.java https://huggingface.co/zxy0307/Java/resolve/main/IO_stream_project/Case_module/src/case_package1/Test2.java
3.05 kB
| package case_package1; | |
| import cn.hutool.core.io.FileUtil; | |
| import cn.hutool.core.util.ReUtil; | |
| import cn.hutool.http.HttpUtil; | |
| import java.util.ArrayList; | |
| import java.util.Collections; | |
| import java.util.List; | |
| import static case_package1.Test.getInfos; | |
| public class Test2 { | |
| public static void main(String[] args) { | |
| //利用糊涂包生成假数据,并写到文件中 | |
| //1、定义网址 | |
| String familyNameNet = "https://hanyu.baidu.com/s?wd=%E7%99%BE%E5%AE%B6%E5%A7%93&device=pc&from=home"; | |
| String boyNameNet = "http://www.haoming8.cn/baobao/12560.html"; | |
| String girlNameNet = "http://www.haoming8.cn/baobao/4155.html"; | |
| //2、爬取数据 | |
| String familyNameStr = HttpUtil.get(familyNameNet); | |
| String boyNameStr = HttpUtil.get(boyNameNet); | |
| String girlNameStr = HttpUtil.get(girlNameNet); | |
| //3、利用正则表达式获取数据 | |
| List<String> familyNameTempList = ReUtil.findAll("(.{4})(,|。)", familyNameStr, 1); | |
| List<String> boyNameTempList = ReUtil.findAll("([\\u4E00-\\u9FA5]{2})(、|。)", boyNameStr, 1); | |
| List<String> girlNameTempList = ReUtil.findAll("(.. ){4}..", girlNameStr, 0); | |
| //4、处理数据 | |
| //familyNameTempList(姓氏) | |
| //处理方案:把每一个姓氏拆开并添加到一个新的集合当中 | |
| ArrayList<String> familyNameList = new ArrayList<>(); | |
| for (String str : familyNameTempList) { | |
| for (int i = 0; i < str.length(); i++) { | |
| char c = str.charAt(i); | |
| familyNameList.add(c + ""); | |
| } | |
| } | |
| //System.out.println(familyNameList); | |
| //boyNameTempList(男生的名字) | |
| //处理方案:去除其中的重复元素 | |
| ArrayList<String> boyNameList = new ArrayList<>(); | |
| for (String str : boyNameTempList) { | |
| if (!boyNameList.contains(str)) { | |
| boyNameList.add(str); | |
| } | |
| } | |
| //System.out.println(boyNameList); | |
| //girlNameTempList(女生的姓名) | |
| //处理方案:把里面的每一个元素用空格进行切割,得到每一个女生的名字 | |
| ArrayList<String> girlNameList = new ArrayList<>(); | |
| for (String str : girlNameTempList) { | |
| String[] arr = str.split(" "); | |
| for (int i = 0; i < arr.length; i++) { | |
| girlNameList.add(arr[i]); | |
| } | |
| } | |
| //System.out.println(girlNameList); | |
| //5、生成数据 | |
| //姓名(唯一)-性别-年龄 | |
| ArrayList<String> infos = getInfos(familyNameList, boyNameList, girlNameList, 10, 15); | |
| Collections.shuffle(infos); | |
| //System.out.println(infos); | |
| //6、写出数据 | |
| //细节: | |
| //糊涂包的相对路径,不是相对于当前项目而言的,而是相对于class文件而言的 | |
| FileUtil.writeLines(infos, "/Users/zhaoxiaoyong/Documents/Java/" + | |
| "IO_stream_project/Case_module/src/NameInfos.txt", "UTF-8"); | |
| } | |
| } | |