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

做企业评价的有哪些网站关键词seo排名怎么样

做企业评价的有哪些网站,关键词seo排名怎么样,梅州建站联系方式,赚钱做任务的网站Java基础知识(11) (包括:IO流高级流,网络爬虫基础,Commons-i0工具包和Hutool工具包) 目录 Java基础知识(11) 一.IO流高级流 1.缓冲流 【1】字节缓冲流 &#xff0…

Java基础知识(11)

(包括:IO流高级流,网络爬虫基础,Commons-i0工具包和Hutool工具包)

目录

Java基础知识(11)

一.IO流高级流

1.缓冲流

【1】字节缓冲流

(1)基础知识

(2)方法

[2] 字符缓冲流(其实基本流里已经有缓冲区了,速度提升不大)

(1)构造方法

(2)字符缓冲流特有方法

2.转换流

【1】转换流是字符流和字节流之间的桥梁

【2】作用

(1)作用1:

(2)作用2:

3.序列化流/对象操作输出流

(1)可以把Java中的对象写到本地文件中

(2)构造方法

(3)成员方法

(4)案例

(5)序列化流的小细节

4. 反序列化流 /对象操作输入流

(1)可以把序列化到本地文件中的对象,读取到程序中来

(2)构造方法

(3)成员方法

(4)序列化流/反序列化流的细节汇总

5. 打印流

【1】分类:打印流一般是指:PrintStream,PrintWriter两个类

【2】字节打印流(字节流底层没有缓冲区,开不开自动刷新都一样)

(1)构造方法

(2)成员方法

【3】字符打印流(字符流底层有缓冲区,想要自动刷新需要开启)

(1)构造方法

(2)成员方法

6. 解压缩流

(1)解压本质:把每一个ZipEntry按照层级拷贝到本地另一个文件夹中

(2)例子:

7. 压缩流

(1)压缩本质:把每一个(文件/文件夹)看成ZipEntry对象放到压缩包中

(2)例子:

8. Commons-i0

9. Hutool工具包

10.网络爬虫

(1)前置知识案例

(2)网络爬虫案例

1)

2)

3)Hutool中有类似的方法,上面仅供理解!!!!


一.IO流高级流

1.缓冲流

【1】字节缓冲流
(1)基础知识

BufferedinputStream 字节缓冲输入流

BufferedOutputStream字节缓冲输出流

原理:底层自带了长度为8192的缓冲区提高性能

(2)方法

1)public BufferedInputStream(InputStream is)把基本流包装成高级流,提高读取数据的性能

2)public BufferedOutputStream(0utputStream os) 把基本流包装成高级流,提高写出数据的性能

3)案例

BufferedInputStream bis = new BufferedInputStream(new FileInputstream( name: "myio\\a.txt"));

BufferedoutputStream bos = new BufferedoutputStream(new File0utputstream( name: "myio\\copy.txt"));

[2] 字符缓冲流(其实基本流里已经有缓冲区了,速度提升不大)
(1)构造方法

public BufferedReader(Reader r) 把基本流变成高级流

public Bufferedwriter(Writer r) 把基本流变成高级流

(2)字符缓冲流特有方法

字符缓冲输入流特有方法:

public string readLine() 读取一行数据,如果没有数据可读了,会返回null

字符缓冲输出流特有方法:

public void newLine() 跨平台的换行

2.转换流

【1】转换流是字符流和字节流之间的桥梁
【2】作用
(1)作用1:

1)指定字符集读写

2)案例

//创建对象并指定字符编码

InputStreamReader isr = new InputStreamReader(new FileInputStream(mvio\lgbkfile.txt"),“GBK”);

(在JDK11有更好的方法:FileReader fr=new FileReader("myio\\gbkfile,txt",charset.forName("GBK"));)

(2)作用2:

1)字节流想要使用字符流中的方法

2)案例

FileInputStream fis = new FileInputStream( name: "myio\la.txt");

InputStreamReader isr=new InputStreamReader(fis);

BufferedReader br =new BufferedReader(isr);

string str= br.readLine();

即:BufferedReader br = new BufferedReader(new InputstreamReader(new fileInputstream( name: "myio\\a.txt")));

3.序列化流/对象操作输出流

(1)可以把Java中的对象写到本地文件中
(2)构造方法

public ObjectOutputStream(0utputStream out)  把基本流包装成高级流

(3)成员方法

public final void write0bject(object obj)把对象序列化(写出)到文件中去

Student stu = new student( name:"zhangsan",age: 23);

(4)案例

ObjectOutputstream oos = new objectoutputstream(new File0utputstream( name: "myio\la.txt"));

oos.writeobject(stu);

(5)序列化流的小细节

使用对象输出流将对象保存到文件时会出现NotserializableException异常

解决方案:需要让Javabean类实现Serializable接口(标记性接口)

4. 反序列化流 /对象操作输入流

(1)可以把序列化到本地文件中的对象,读取到程序中来
(2)构造方法

public objectInputstream(Inputstream out) 把基本流变成高级流

(3)成员方法

public object readobject()把序列化到本地文件中的对象,读取到程序中来(需要进行强转)

(4)序列化流/反序列化流的细节汇总

① 使用序列化流将对象写到文件时,需要让Javabean类实现Serializable接口,否则,会出现NotSerializableException异常

② 序列化流写到文件中的数据是不能修改的,一旦修改就无法再次读回来了

③ 序列化对象后,修改了Javabean类,再次反序列化,会不会有问题?

会出问题,会抛出InvalidclassException异常

解决方案:给lavabean类添加serialVersionUID(列号、版本号)

private static final long serialVersionUID = -6357601841666449654L;

可用idea自动生成。

④如果一个对象中的某个成员变量的值不想被序列化,又该如何实现呢?

解决方案:给该成员变量加transient关键字修饰,该关键字标记的成员变量不参与序列化过程

⑤如果需要将多个对象进行序列化,一般规定将其放入一个集合中,序列化集合

5. 打印流

【1】分类:打印流一般是指:PrintStream,PrintWriter两个类

特点1:打印流只操作文件目的地,不操作数据源

特点2:特有的写出方法可以实现,数据原样写出

例如:打印:97 文件中:97

特点3:特有的写出方法,可以实现自动刷新,自动换行

打印一次数据=写出+换行+刷新

【2】字节打印流(字节流底层没有缓冲区,开不开自动刷新都一样)
(1)构造方法

public Printstream(0utputStream/File/string) 关联字节输出流/文件/文件路径(重要)

public PrintStream(String fileName,Charset charset) 指定字符编码(重要)

public PrintStream(OutputStream out,boolean autoFlush) 自动刷新

public PrintStream(0utputStream out,boolean autoFlush, String encoding) 指定字符编码且自动刷新

(2)成员方法

public void write(int b) 常规方法:规则跟之前一样,将指定的字节写出

public void println(Xxx xx) 特有方法:打印任意数据,自动刷新,自动换行

public void print(Xxx xx) 特有方法:打印任意数据,不换行

public void printf(String format,Object... args)特有方法:带有占位符的打印语句,不换行

【3】字符打印流(字符流底层有缓冲区,想要自动刷新需要开启)
(1)构造方法

public PrintWriter(Write/File/String) 关联字节输出流/文件/文件路径

public PrintWriter(String fileName, charset charset) 指定字符编码

public PrintWriter(Write w,boolean autoFlush) 自动刷新

public PrintWriter(0utputStream out, boolean autoFlush, charset charset) 指定字符编码且自动刷新

(2)成员方法

public void write(int b) 常规方法:规则跟之前一样,写出字节或者字符串

public void println(Xxx xx) 特有方法:打印任意数据,自动刷新,自动换行

public void print(Xxx xx) 特有方法:打印任意数据,不换行

public void printf(String format,Object... args)特有方法:带有占位符的打印语句,不换行

6. 解压缩流

(1)解压本质:把每一个ZipEntry按照层级拷贝到本地另一个文件夹中
(2)例子:

//创建一个解压缩流用来读取压缩包中的数据

ZipInputstream zip = new ZipInputstream(new FileInputstream(src));

//要先获取到压缩包里面的每一个zipentry对象

//表示当前在压缩包中获取到的文件或者文件夹

ZipEntry entry;

while((entry= zip.getNextEntry())!= nu11){

System.out.println(entry);

}

7. 压缩流

(1)压缩本质:把每一个(文件/文件夹)看成ZipEntry对象放到压缩包中
(2)例子:

public static void tozip(File src,File dest)throws IoException {

//1.创建压缩流关联压缩包

Zipoutputstream zos = new zipoutputstream(new File0utputstream(new File(dest, child: "a.zip")));

//2.创建zipEntry对象,表示压缩包里面的每一个文件和文件夹

ZipEntry entry = new zipEntry( name:"a.txt");

//3.把ZipEntry对象放到压缩包当中

zos.putNextEntry(entry);

//4.把src文件中的数据写到压缩包当中

FileInputstream fis = new FileInputstream(src);

int b;

while((b=fis.read())!=-1){

zos.write(b);

zos.closeEntry();

zos.close();

}

8. Commons-i0

(1)简介

Commons-io是apache开源基金组织提供的一组有关I0操作的开源工具包。

作用:提高I0流的开发效率,

(2)Commons-io使用步骤

1)在项目中创建一个文件夹:lib

2)将jar包复制粘贴到lib文件夹

3)右键点击jar包,选择 Add as Library ->点击OK

4)在类中导包使用

5)文档在仅我可见中。

9. Hutool工具包

官网:
    https://hutool.cn/
API文档:
    https://apidoc.gitee.com/dromara/hutool/

中文使用文档:
    https://hutool.cn/docs/#/

10.网络爬虫

(1)前置知识案例

//Pattern:表示正则表达式

//Matcher:文本匹配器,作用按照正则表达式的规则去读取字符串,从头开始读取,在大串中去找符合匹配规则的子串。

//获取正则表达式的对象

Pattern p=Pattern.compile("Java\\d{0,2}");

//获取文本匹配器的对象

//m:文本匹配器的对象

//str:大串

//p:规则

//m:要在str中找符合p规则的小串

Matcher m=p.matcher(str);

//拿着文本匹配器从头开始读取,寻找是否有满足规则的子串

//如果没有,方法返回false

//如果有,返回true。在底层记录子串的起始索引和结束索引+1

//如:0,4

boolean b=m.find();

//方法底层会根据find方法记录的索引进行字符串的截取

//substring(起始索引,结束索引);包头不包尾

//(0,4)但是不包含4索引

//会把截取的小串进行返回。

string s1 = m.group();

System.out.println(s1);

//第二次在调用find的时候,会继续读取后面的内容

//读取到第二个满足要求的子串,方法会继续返回true

//并把第二个子串的起始索引和结束索引+1,进行记录

b = m.find();

//第二次调用group方法的时候,会根据find方法记录的索引再次截取子串

string s2 = m.group();

System.out.println(s2);

}

(2)网络爬虫案例
1)

public static string webcrawler(string net)throws Ioxception {

//1.定义stringBuilder拼接爬取到的数据

StringBuilder sb=new stringBuilder();

//2.创建一个URL对象

URL url = new URL(net);

//3.链接上这个网址

//细节:保证网络是畅通的,而且这个网址是可以链接上的。

URLConnection conn =url.openconnection();

//4.读取数据

InputstreamReader isr = new InputStreamReader(conn.getInputstream());

int ch;

while((ch=isr.read())!=-1){

sb.append((char)ch);

//5.释放资源

isr.close();

//6.把读取到的数据返回

return sb.tostring();

}

2)

//通过正则表达式,把其中符合要求的数据获取出来

private static Arraylist<string> getData(string str, string regex){

//1.创建集合存放数据

ArrayList<string>list = new ArrayList<>();

//2.按照正则表达式的规则,去获取数据

Pattern pattern = Pattern.compile(regex);

//3.按照pattern的规则,到str当中获取数据

Matcher matcher =pattern.matcher(str);

while(matcher.find()){

list.add(matcher.group(index));

}

return list;

}

3)Hutool中有类似的方法,上面仅供理解!!!!

文章转载自:
http://grind.gcqs.cn
http://uncondescending.gcqs.cn
http://perceive.gcqs.cn
http://synoecism.gcqs.cn
http://remission.gcqs.cn
http://groggy.gcqs.cn
http://rater.gcqs.cn
http://cluster.gcqs.cn
http://euglena.gcqs.cn
http://cristate.gcqs.cn
http://aei.gcqs.cn
http://midfield.gcqs.cn
http://boastful.gcqs.cn
http://tagger.gcqs.cn
http://bilinear.gcqs.cn
http://rickety.gcqs.cn
http://outlook.gcqs.cn
http://stratigraphical.gcqs.cn
http://songkhla.gcqs.cn
http://innards.gcqs.cn
http://cannibalise.gcqs.cn
http://novokuznetsk.gcqs.cn
http://chemotactically.gcqs.cn
http://bimonthly.gcqs.cn
http://destine.gcqs.cn
http://peahen.gcqs.cn
http://childrenese.gcqs.cn
http://tacnode.gcqs.cn
http://elation.gcqs.cn
http://remissive.gcqs.cn
http://sanatron.gcqs.cn
http://nonhibernating.gcqs.cn
http://enviously.gcqs.cn
http://then.gcqs.cn
http://cachepot.gcqs.cn
http://freshener.gcqs.cn
http://cavally.gcqs.cn
http://hydrargyrum.gcqs.cn
http://interspatial.gcqs.cn
http://desiccation.gcqs.cn
http://sley.gcqs.cn
http://rimrock.gcqs.cn
http://achromatophilia.gcqs.cn
http://combust.gcqs.cn
http://insufficience.gcqs.cn
http://heapsort.gcqs.cn
http://epithelization.gcqs.cn
http://tsotsi.gcqs.cn
http://carburet.gcqs.cn
http://tempest.gcqs.cn
http://stylography.gcqs.cn
http://tressure.gcqs.cn
http://luau.gcqs.cn
http://muslem.gcqs.cn
http://paroxysmic.gcqs.cn
http://such.gcqs.cn
http://exhibitor.gcqs.cn
http://unbefriended.gcqs.cn
http://butene.gcqs.cn
http://barbet.gcqs.cn
http://tartness.gcqs.cn
http://unsung.gcqs.cn
http://bivouac.gcqs.cn
http://warplane.gcqs.cn
http://nitrochalk.gcqs.cn
http://champion.gcqs.cn
http://lavash.gcqs.cn
http://lion.gcqs.cn
http://underclass.gcqs.cn
http://programing.gcqs.cn
http://inofficious.gcqs.cn
http://tunnel.gcqs.cn
http://plp.gcqs.cn
http://wazir.gcqs.cn
http://schwarzwald.gcqs.cn
http://captainship.gcqs.cn
http://incontrovertible.gcqs.cn
http://declension.gcqs.cn
http://reticule.gcqs.cn
http://parquetry.gcqs.cn
http://historiography.gcqs.cn
http://anorthite.gcqs.cn
http://indiaman.gcqs.cn
http://hanko.gcqs.cn
http://superspy.gcqs.cn
http://abort.gcqs.cn
http://pluriglandular.gcqs.cn
http://sicklemia.gcqs.cn
http://highboy.gcqs.cn
http://triptich.gcqs.cn
http://bergall.gcqs.cn
http://peloponnesos.gcqs.cn
http://angelical.gcqs.cn
http://lallation.gcqs.cn
http://trimester.gcqs.cn
http://gonadotropin.gcqs.cn
http://gnathitis.gcqs.cn
http://dactylioglyphy.gcqs.cn
http://landholding.gcqs.cn
http://humane.gcqs.cn
http://www.15wanjia.com/news/71444.html

相关文章:

  • 教学网站如何在百度发广告
  • 做外贸一般去什么网站找客户如何弄一个自己的网站
  • 自己做网站上市怎么做网站推广和宣传
  • 欧洲人喜欢什么样的服务器网站seo标题是什么意思
  • 网站建设知识点的总结视频营销的策略与方法
  • 企业vi设计主要包括哪些内容seo优化啥意思
  • 网站建设需要做什么准备工作正规的计算机培训机构
  • 石家庄市高新区建设局网站谷歌自然排名优化
  • 网站建设前期准备工作seo赚钱暴利
  • 源码之家网站企业培训课程推荐
  • 可以做网站的app360优化大师最新版下载
  • 网页设计建网站找相似图片 识别
  • 网站被百度k掉怎么办百度网页收录
  • 宣传片拍摄方案模板seo在线推广
  • 虚拟主机网站建设适合小学生的新闻事件
  • 怎么可以自己做网站建站小程序
  • 网站整站下载带数据库后台的方法东莞seo优化推广
  • 四川省的建设厅注册中心网站深圳网站提升排名
  • 网站建设算入会计分录华为手机业务最新消息
  • python3的网站开发搜索引擎优化案例分析
  • 深圳市国家高新技术企业认定百度关键词优化怎么做
  • 衡水网站建设选哪家陕西网站建设网络公司
  • 做网站一般多少百度最新版app下载安装
  • 网站开发公司 网站空间衡水seo优化
  • 网站建设中布局海淀seo搜索引擎优化公司
  • 什么网站比较容易做全国seo公司排名
  • 山西建设厅网站2016年3号百度一下生活更好
  • 企业网站开发流程广州推广seo
  • 手机网站制作注意事项免费网站推广
  • 广东网站建设服务公司中国站长网入口