当前位置: 首页 > news >正文

网站内容智能wordpress采集主题

网站内容智能,wordpress采集主题,模板算量,合肥网络公司缓冲流 真正操作数据的还是基本流 字节缓冲流 缓冲区是长度为8192的字节缓冲区 byte[] 8K Bufferedininputstream 读取数据就是把数据放到缓冲区中#xff0c;字节长度默认长度8192 关流只需要关缓冲流#xff0c;因为在底层会关基本流 一次读多个字节 字节缓冲流提高效…缓冲流 真正操作数据的还是基本流 字节缓冲流 缓冲区是长度为8192的字节缓冲区  byte[]  8K Bufferedininputstream 读取数据就是把数据放到缓冲区中字节长度默认长度8192 关流只需要关缓冲流因为在底层会关基本流 一次读多个字节 字节缓冲流提高效率的原理 还是通过基本流读取文件数据将数据放到缓冲输入流的缓冲区 通过read方法将输入流的缓冲区中读取数据写到输出流的缓冲区中 再通过基本流写到文件中 通俗讲就是通过int b在两个缓冲区中倒手数据在内存中这个速度非常快用时几乎忽略不计。Int b也可以是byte数组更加快 字符缓冲流 缓冲区是长度为8192的字符缓冲区  char[] 一个char对应2个byte 所以是16K Readline 读取一次读一行遇到回车结束但是不会读到回车符 循环读取文件中的数据 注意循环条件是不等于null而不是-1 字符缓冲输出流 续写的true是基本流的功能bufferedwriter没有这功能 package exercise;import java.io.*; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator;public class exercise8 {public static void main(String[] args) throws IOException {BufferedReader br new BufferedReader(new FileReader(day28\\src\\csb.txt));ArrayListString arr new ArrayList();String len;while ((len br.readLine()) ! null) {arr.add(len);}Collections.sort(arr, new ComparatorString() {Overridepublic int compare(String o1, String o2) {return Integer.parseInt(o1.split(\\.)[0]) - Integer.parseInt(o2.split(\\.)[0]);}});//还可以直接用treemap直接就排序了BufferedWriter bw new BufferedWriter(new FileWriter(day28\\src\\csb2.txt));for (String s : arr) {bw.write(s);bw.newLine();}bw.close();br.close();} } 注意点IO流最好不要在开头就把所有的都创建出来这样就有可能在用bufferedwriter的时候把文件清空了导致read()读取不到数据 转换流 属于字符流 指定字符集读写被淘汰 JDK11时filereader加入了一种新的构造方法 第二个参数直接写按照哪种字符集来读 Charset.forname() 同样filewriter也是 GBK文件转成UTF-8 字节流读取中文按行读无乱码 序列化流/对象操作输出流 Objectoutputstream 写到文件中是乱码不想让别人修改 要让对象implements serializable 实现了这个接口说明是可以被序列化的 serializable接口里没有抽象方法所以不用重写 反序列化流/对象操作输入流 返回的是object类型可以强转成原类型 serialVersionUID是根据类里面所有的成员计算出来的 如果改变类里面的成员uid就会变相当于是一个版本号 如果给定了一个uid则反序列的时候就不会报错 没有给定uid这时改变类里面的成员代码就报错 如果不想某些属性被序列化到本地则加上transient关键字 再反序列的时候返回就是null了 注意点 把对象装到集合中读和写直接对list操作 打印流 不能读只能写 Printstreamprintwriter 字节打印流 没有缓冲区 字符打印流 有缓冲区可以手动开自动刷新一般都是开 System.out.println() Out是printstream类system.out相对于就是获取了一个字节打印流对象 这个打印流默认指向控制台 解压缩流/压缩流 Zipinputstream getNextEntry获取到文件夹中所有的文件包括子文件夹中的文件返回一个entry对象 Entry.isDirectory判断是不是文件夹。注意没有isfile方法 Entry.toString地址变字符串形式 压缩 Zipentry括号里面表示压缩包里面内部的路径 如果是D\\ 则压缩包里会出现一个D盘然后才是跟着的aaa文件夹 Commons-io copyDirectory是将文件夹里面的内容copy到目的地文件夹里面 copyDirectoryToDirectory是将文件夹copy到目的地新建的文件夹里面 Clean清空文件夹里面的所有文件和文件夹只保留最外层的文件夹 Hutool Touch可以根据传入的file对象创建文件而且如果父级路径不存在他也可以一同创建。之前的createnewfile就不行如果父级路径不存在就创建不了 制造假数据 网络爬取 写法一 package exercise;import java.io.*; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; import java.util.regex.Matcher; import java.util.regex.Pattern;public class exercise1 {public static void main(String[] args) throws IOException {/*制造假数据获取姓氏https://hanyu.baidu.com/shici/detail?pid0b2f26d4c0ddb3ee693fdb1137ee1b0dfromkg0获取男生名字http://www.haoming8.cn/baobao/10881.html获取女生名字http://www.haoming8.cn/baobao/7641.html*///1.定义变量记录网址String familyNameNet https://mp.weixin.qq.com/s?__bizMzU4MDcwMjkxNwmid2247492706idx4sn021c357e8f9ac5e13040ae8256b4cb68chksmfd5063c8ca27eadeb97c9682dbecdd8ebc3784f5abdd2e09819a1612e439003079c646909ca2scene27;String boyNameNet http://www.haoming8.cn/baobao/10881.html;String girlNameNet http://www.haoming8.cn/baobao/7641.html;//2.爬取数据,把网址上所有的数据拼接成一个字符串String familyNameStr webCrawler(familyNameNet);String boyNameStr webCrawler(boyNameNet);String girlNameStr webCrawler(girlNameNet);//3.通过正则表达式把其中符合要求的数据获取出来ArrayListString familyNameTempList getData(familyNameStr, ([\\u4E00-\\u9FA5] ){3}([\\u4E00-\\u9FA5]), 0);ArrayListString boyNameTempList getData(boyNameStr, ([\\u4E00-\\u9FA5]{2})(、|。), 1);ArrayListString girlNameTempList getData(girlNameStr, (([\\u4E00-\\u9FA5]{2} ){4}[\\u4E00-\\u9FA5]{2}), 0);//4.处理数据ArrayListString familyNameList new ArrayList();for (String s : familyNameTempList) {String[] split s.split( );familyNameList.addAll(List.of(split));}ArrayListString boyNameList new ArrayList();for (String s : boyNameTempList) {if (!boyNameList.contains(s)) {boyNameList.add(s);}}ArrayListString girlNameList new ArrayList();for (String s : girlNameTempList) {String[] split s.split( );girlNameList.addAll(List.of(split));}//5.生成假数据ArrayListString list getInfo(familyNameList, boyNameList, girlNameList, 50, 50);System.out.println(list);//6.写入文件BufferedWriter bw new BufferedWriter(new FileWriter(day30\\src\\names.txt));for (String s : list) {bw.write(s);bw.newLine();}bw.close();}private static ArrayListString getInfo(ArrayListString familyNameList, ArrayListString boyNameList, ArrayListString girlNameList, int boyCount, int girlCount) {ArrayListString list new ArrayList();Collections.shuffle(familyNameList);Collections.shuffle(boyNameList);Collections.shuffle(girlNameList);Random r new Random();//获取男生for (int i 0; i boyCount; i) {int age r.nextInt(8) 18;list.add(familyNameList.get(i) boyNameList.get(i) -男- age);}//获取女生for (int i 0; i girlCount; i) {int age r.nextInt(8) 18;list.add(familyNameList.get(i) girlNameList.get(i) -女- age);}Collections.shuffle(list);return list;}private static ArrayListString getData(String str, String regex, int index) {ArrayListString arr new ArrayList();Pattern p Pattern.compile(regex);Matcher m p.matcher(str);while (m.find()) {arr.add(m.group(index));}return arr;}private static String webCrawler(String net) throws IOException {StringBuilder sb new StringBuilder();URL url new URL(net);URLConnection conn url.openConnection();InputStreamReader isr new InputStreamReader(conn.getInputStream());int b;while ((b isr.read()) ! -1) {sb.append((char) b);}isr.close();return sb.toString();} } 写法二用hutool写 package exercise;import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.ReUtil; import cn.hutool.http.HttpUtil;import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random;public class exercise2 {public static void main(String[] args) throws IOException {/*制造假数据获取姓氏https://hanyu.baidu.com/shici/detail?pid0b2f26d4c0ddb3ee693fdb1137ee1b0dfromkg0获取男生名字http://www.haoming8.cn/baobao/10881.html获取女生名字http://www.haoming8.cn/baobao/7641.html*///1.定义变量记录网址String familyNameNet https://mp.weixin.qq.com/s?__bizMzU4MDcwMjkxNwmid2247492706idx4sn021c357e8f9ac5e13040ae8256b4cb68chksmfd5063c8ca27eadeb97c9682dbecdd8ebc3784f5abdd2e09819a1612e439003079c646909ca2scene27;String boyNameNet http://www.haoming8.cn/baobao/10881.html;String girlNameNet http://www.haoming8.cn/baobao/7641.html;//2.爬取数据,把网址上所有的数据拼接成一个字符串String familyNameStr HttpUtil.get(familyNameNet);String boyNameStr HttpUtil.get(boyNameNet);String girlNameStr HttpUtil.get(girlNameNet);//3.通过正则表达式把其中符合要求的数据获取出来ListString familyNameTempList ReUtil.findAll(([\\u4E00-\\u9FA5] ){3}([\\u4E00-\\u9FA5]), familyNameStr, 0);ListString boyNameTempList ReUtil.findAll(([\\u4E00-\\u9FA5]{2})(、|。), boyNameStr, 1);ListString girlNameTempList ReUtil.findAll((([\\u4E00-\\u9FA5]{2} ){4}[\\u4E00-\\u9FA5]{2}), girlNameStr, 0);//4.处理数据ArrayListString familyNameList new ArrayList();for (String s : familyNameTempList) {String[] split s.split( );familyNameList.addAll(List.of(split));}ArrayListString boyNameList new ArrayList();for (String s : boyNameTempList) {if (!boyNameList.contains(s)) {boyNameList.add(s);}}ArrayListString girlNameList new ArrayList();for (String s : girlNameTempList) {String[] split s.split( );girlNameList.addAll(List.of(split));}//5.生成假数据ArrayListString list getInfo(familyNameList, boyNameList, girlNameList, 50, 50);System.out.println(list);//6.写入文件 写到了out文件夹中的production里FileUtil.writeLines(list, day30\\src\\names.txt, UTF-8);}private static ArrayListString getInfo(ArrayListString familyNameList, ArrayListString boyNameList, ArrayListString girlNameList, int boyCount, int girlCount) {ArrayListString list new ArrayList();Collections.shuffle(familyNameList);Collections.shuffle(boyNameList);Collections.shuffle(girlNameList);Random r new Random();//获取男生for (int i 0; i boyCount; i) {int age r.nextInt(8) 18;list.add(familyNameList.get(i) boyNameList.get(i) -男- age);}//获取女生for (int i 0; i girlCount; i) {int age r.nextInt(8) 18;list.add(familyNameList.get(i) girlNameList.get(i) -女- age);}Collections.shuffle(list);return list;} } 随机点名器 package exercise;import java.io.*; import java.util.ArrayList; import java.util.Arrays;public class exercise7 {public static void main(String[] args) throws IOException {//获取数据File f new File(day30\\src\\names2.txt);BufferedReader br1 new BufferedReader(new FileReader(f));ArrayListStudent list new ArrayList();String s;while ((s br1.readLine()) ! null) {String[] split s.split(-);list.add(new Student(split[0], split[1], Integer.parseInt(split[2]), Double.parseDouble(split[3])));}br1.close();//得到总权重double sum 0;for (Student stu : list) {sum stu.getWeight();}//得到每一个的权重double[] arr new double[list.size()];int index 0;for (Student stu : list) {arr[index] stu.getWeight() / sum;index;}//计算每个人落下的权重范围for (int i 1; i arr.length; i) {arr[i] arr[i - 1];}System.out.println(Arrays.toString(arr));//得到随机数double number Math.random();int i -Arrays.binarySearch(arr, number) - 1;//得到抽中的姓名Student stu list.get(i);//改变权重stu.setWeight(stu.getWeight() / 2);//写入文件BufferedWriter bw new BufferedWriter(new FileWriter(f));for (Student student : list) {bw.write(student.toString());bw.newLine();}bw.close();} }
http://www.pierceye.com/news/854649/

相关文章:

  • 简单的做图网站wordpress加密授权
  • 哪里做网站域名不用备案新华舆情监测平台
  • 品牌工厂网站建设qt 网站开发
  • xxx网站建设规划家庭服务网站的营销策略
  • 哪里可以做宝盈网站江门百度seo公司
  • 电子商务的网站建设名词解释如何建立官网
  • 网站建设维护外包群排名优化软件
  • 苏州专业建设网站镇江网站建设找思创网络
  • 长春网站排名提升seo关键词推广多少钱
  • 头条网站怎么做的在网站上放广告
  • 网站建设费的会计分录wordpress c博客
  • 网站开发语言字典使用apmserv本地搭建多个网站
  • 建网站费用记账北京时间网站建设
  • 兴化网站开发佛山营销网站建设联系方式
  • 安居客官网网站天津 网站设计制作公司
  • seo建站优化价格表中山网站建设品牌
  • wp网站源码聊城市住房和城乡建设局网站首页
  • 个人博客网站总结买东西的网站
  • 兰州新区小程序建站网站的漂浮广告怎么做
  • 用vs代码做网站线上拓客渠道有哪些
  • 微信网站界面如何免费创建自己的平台
  • 电商设计一般都是做什么潍坊网站seo外包
  • 大城怎么样做网站雄安建设工程信息网站
  • 郑州网站建设方案服务安全狗iis版删了以后 网站打不开
  • 忻州网站制作jsp小型网站开发代码
  • 如何外贸网站推广wordpress默认主题哪个好
  • 设计网站推荐提升审美网站建设的公司
  • 张浦专业做网站网站建设案例百度云
  • 佛山网站如何制作网站建设公司哪家强
  • 韩城市网站建设编程培训机构加盟哪家好