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

网站的用户运营值得做吗品牌建设的五个要素

网站的用户运营值得做吗,品牌建设的五个要素,广州注册公司费用,互联网小白怎么入门字符集 规定了字符和二进制之间对应关系的一张表 字节是计算机最基本的存储单位 字符则是通过字符组成和编码而成的文本 常见字符集 1,ASCII字符集 基础字符编码标准,包含128个字符,只包括英文字母,数字和一些常见的符号 一个字节表示一个字符 所有的字符集均兼容ASCII…

字符集

规定了字符和二进制之间对应关系的一张表

字节是计算机最基本的存储单位

字符则是通过字符组成和编码而成的文本

常见字符集

1,ASCII字符集

基础字符编码标准,包含128个字符,只包括英文字母,数字和一些常见的符号

一个字节表示一个字符

所有的字符集均兼容ASCII字符集

2,GBK国标码

对ASCII字符集进行了扩展,

汉字使用两个字节来表示一个字符,英文数字占一个字节

,可以表示更多的字符范围,包括汉字和其他的特殊符号共2w多字符,可以满足大部分中文字符的需求.但无法在全球范围使用

3,Unicode全球字符编码标准

包含所有已知字符,包括各种语言的字符符号和图形,可以根据字符的范围使用不同长度的字节,实现高效的存储和传输,

UTF-8编码三个字节表示一个字符,英文数字占一个字节

编码和解码

编码:把字符按照指定字符集编码为字节

解码:把字节按照指定字符集解码为字符

String类中提供了相应方法来实现编码和解码

编码:把字符串按照指定字符集转换为字节数组

解码:把字节数组按照指定的字符集转换为字符串

byte[] b = a.getBytes("字符集")//编码
String a = new String(b,"字符集")//解码

解码编码必须一致否则会乱码

英文和数字一般不会乱码,因为兼容ASCII码

字符流

字符流=字节流+编码表

因为UTF-8编码和GBK编码在设计编码时中文需要占2-3个字节,这导致字节流读取会读取半个汉字的情况,也就出现了乱码

而使用字符流就可以很好的解决这个问题

字符流分为

字符输入流

最顶层抽象类为Reader

可以使用其常用子类FileReader类

字符输出流

最顶层抽象类Writer

可以使用其常用子类FileWriter类

请添加图片描述

字符输入流
构造器
public FileReader(File file)
//创建字符输入流管道与源文件接通
public FileReader(String pathname)
//创建字符输入流管道与源文件接通
方法
public int read()
//每次读取一个字符返回,如果发现没有数据会返回-1
public int read(char[] buffer)
//使用字符数组读取,返回读取了多少个字符,没有数据返回-1
字符输出流
构造器
public FileWriter(File file)
//创建字节输出流管道与源文件对象接通
public FileWriter(String filepath)
//创建字节输出流管道与源文件路径接通
public FileWriter(File file,boolean append)
//创建管道连接文件,可以追加数据
public FileWriter(String filepath,boolean append)
//创建管道连接文件,可以追加数据
方法
void write(int c)//写一个字符
void write(String str)//写一个字符串
void write(String str,int off,int len)//写字符串的一部分
void write(char[] ch)//写一个字符数组
void write(char[] ch,int off,int len)//写字符数组的一部分
void flush()//刷新流,把内存中的数据刷新到硬盘中
void close()//关流,自动刷新一次,关流之后对象无法再次使用

缓冲流

对原始流包装,提高了原始流读写数据的性能

原理:缓冲输入/输出流自带了8KB的缓冲池(底层封装了一个8kb的字符数组)

缓冲流的工作原理是先将数据写入内存缓冲区,当缓冲区满时再将数据一次性写入到磁盘或者网络中,这样可以减少实际的读写次数,提高读写效率.

缓冲流的优点

减少IO操作次数

提高读写效率

处理大量数据时,显著提升程序性能

flush()方法

1,

文件以字节形式存在,所以字节流不需要在内存中进行转换,可以直接进入文件,由于字节流不自带缓冲区,使用缓冲流提升巨大,且字节流的flush()方法没有实现(没有方法体).

2,

字符流需要在内存中进行转换,所以需要flush方法手动将数据刷入硬盘,字符流自带缓冲区,所以使不使用缓冲流差距不大

3,

缓冲流在底层创建一个8kb的数组,当数组装满时存入硬盘,减少内存和硬盘的交互,提高效率

IO流体系

请添加图片描述

字节流包装构造
public BufferedInputStream(InputStream is)
//把低级字节输入流包装为一个高级缓冲字节输入流,提高读取性能
public BufferedOutputStream(OutputStream os)
//把低级字节输出流包装为高级缓冲字节输出流,提高写入性能
字符流包装构造
public BufferedReader(Reader r)
//把低级的字符输入流包装为字符缓冲输入流,提高读取性能
特有方法:
public String readLine()
//读取一行数据返回(不包含换行符),如果没有数据可读,会返回null
public BufferedWriter(Writer r)
//把低级的字符输出流包装成一个高级的缓冲字符输出流,提高写入性能
特有方法:
public void newLine()
//根据系统写出换行符

转换流

JAVA IO库中的一种特殊流,

在需要把字节流转成字符流时使用

例如网络编程中发送字节数据需要发送中文时,需要使用转换流转成字符流

用于将字节流转换为字符流

提供了两个类:

InputStreamReader和OutputStreamWriter

转换流的本质属于字符流,所以可以使用字符流中所有的功能

转换流的主要用途是在字节流和字符流之间进行转换,使得在处理文本或者字符数据时更加方便,可以解决使用字节流读取中文出现乱码的问题

输入流转换构造器
InputStreamReader(InputStream in)
//创建一个使用默认字符集的InputStreamReader对象,将给定的字节输入流转为字符流
InputStreamReader(InputStream in,String charsetName)
//创建一个使用指定字符集charsetName的InputStreamReader对象,
//将给定的字节输入流转为字符流
//把原始的字节输入流,按照指定字符集编码成字符输入流
输出流转换构造器
OutputStreamWriter(OutputStream in)
//创建一个使用默认字符集的OutputStreamWriter对象,将给定的字节输出流转为字符流
OutputStreamWriter(OutputStream in,String charsetName)
//创建一个使用指定字符集charsetName的OutputStreamWriter对象,
//将给定的字节输出流转为字符流

序列化流操作

将对象转换为字节流,以便于在网络上传输或者保存到文件

将对象的状态保存,以便于在需要时重新生成

ObjectOutputStream类

将对象序列化为字节流

构造方法创建对象

ObjectOutputStream(OutputStream out)
//将序列化的数据写入给定的输出流out

写出对象

public void writeObject(Object obj)
//将给定的对象obj序列化写入输出流
ObjectInputStream类

将字节流反序列化为对象

构造方法创建对象

ObjectInputStream(InputStream out)
//从给定的输入流in中读取反序列化的数据

读入对象

当读到文件末尾继续读时,会返回EOF异常,需要用trycatch捕获

public Object readObject()
//从输入流中读取字节并反序列化为对象
注:
1,写入对象必须实现Serializable接口

Serializable接口是一个标记接口,没有任何方法需要实现,只是告诉虚拟机,该类对象可以被序列化,如果没有实现该接口,会抛出NotSerializableException异常

2,transient是一个关键字,用于修饰变量.

当一个变量被transient修饰时,将不会被序列化,即在对象被写入文件或通过网络传输时,该变量的值不会被保存或传输

3,在对象序列化为文件后,在反序列化前修改类会异常

在序列化对象时,会根据此类生成一个序列化号,序列化号根据此类的信息自动生成.

更改类中信息时,会重新生成序列化号

导致InvalidClassException异常,因为类的版本与序列化时的版本一致

解决方案:

固定serialVersionUID::使⽤private static final long serialVersionUID显式地声明⼀个恒定的serialVersionUID,确保在类的结构发⽣变化时,

serialVersionUID的值保持不变。这样可以确保序列化和反序列化过程中的版本⼀致性。

eg:

private static final long serialVersionUID
= 123456789;

序列化的使用

将对象提前存在容器中,需要序列化时直接序列化容器对象即可

存入时存入一次容器

读取时也只需读取一次,避免循环判断

IO框架 commons-io

一个Apache开源项目,属于第三方工具包.

提供了一组常用的I/O相关的工具类,用于简化java代码,与官方核心类库无关

常用功能

1,文件操作:复制删除移动等

2,文件过滤:根据文件名和文件后缀对文件过滤

3,字符集操作:将字节数组转成字符串等

使用

下载并导入jar包

创建libs文件夹

复制jar包到文件夹中

在jar包上单击添加为"Add as Library"

官⽅API⽂档地址 : https://commons.apache.org/proper/commons-io/javadocs/api-release/


文章转载自:
http://squirearch.rjbb.cn
http://cartogram.rjbb.cn
http://incorruptibly.rjbb.cn
http://taletelling.rjbb.cn
http://proglottid.rjbb.cn
http://glossarist.rjbb.cn
http://vasculotoxic.rjbb.cn
http://yttrotungstite.rjbb.cn
http://pocketful.rjbb.cn
http://reject.rjbb.cn
http://armorial.rjbb.cn
http://gyri.rjbb.cn
http://vdr.rjbb.cn
http://zeugmatic.rjbb.cn
http://nectareous.rjbb.cn
http://clairschach.rjbb.cn
http://sulphuret.rjbb.cn
http://abelmosk.rjbb.cn
http://microsporangiate.rjbb.cn
http://derivative.rjbb.cn
http://kheth.rjbb.cn
http://postie.rjbb.cn
http://pyin.rjbb.cn
http://cafeteria.rjbb.cn
http://statesmanship.rjbb.cn
http://actinon.rjbb.cn
http://vaccination.rjbb.cn
http://overcloud.rjbb.cn
http://homocyclic.rjbb.cn
http://convulsant.rjbb.cn
http://postrider.rjbb.cn
http://scrofulism.rjbb.cn
http://meticulosity.rjbb.cn
http://peascod.rjbb.cn
http://boysenberry.rjbb.cn
http://photographica.rjbb.cn
http://recede.rjbb.cn
http://dendrogram.rjbb.cn
http://rancho.rjbb.cn
http://weariness.rjbb.cn
http://cornish.rjbb.cn
http://eolian.rjbb.cn
http://inspectoral.rjbb.cn
http://tourer.rjbb.cn
http://hyoid.rjbb.cn
http://barometric.rjbb.cn
http://snippety.rjbb.cn
http://psychologism.rjbb.cn
http://caeciform.rjbb.cn
http://tzarina.rjbb.cn
http://germinant.rjbb.cn
http://metrazol.rjbb.cn
http://agaze.rjbb.cn
http://parabomb.rjbb.cn
http://pantopragmatic.rjbb.cn
http://propaganda.rjbb.cn
http://jeweller.rjbb.cn
http://underpeopled.rjbb.cn
http://infectant.rjbb.cn
http://scorching.rjbb.cn
http://ocean.rjbb.cn
http://juristic.rjbb.cn
http://hydroponic.rjbb.cn
http://strisciando.rjbb.cn
http://palliard.rjbb.cn
http://album.rjbb.cn
http://woolmark.rjbb.cn
http://mumbletypeg.rjbb.cn
http://schizomycosis.rjbb.cn
http://theopathetic.rjbb.cn
http://childmind.rjbb.cn
http://frizz.rjbb.cn
http://taletelling.rjbb.cn
http://paediatric.rjbb.cn
http://commensurate.rjbb.cn
http://errhine.rjbb.cn
http://picomole.rjbb.cn
http://narrater.rjbb.cn
http://repercussiveness.rjbb.cn
http://truer.rjbb.cn
http://labial.rjbb.cn
http://warbler.rjbb.cn
http://intersensory.rjbb.cn
http://livorno.rjbb.cn
http://pictorial.rjbb.cn
http://morphine.rjbb.cn
http://xenogenesis.rjbb.cn
http://nuffieldite.rjbb.cn
http://eyeballing.rjbb.cn
http://phoneticism.rjbb.cn
http://tv.rjbb.cn
http://indiscrete.rjbb.cn
http://contrafactual.rjbb.cn
http://nucleocapsid.rjbb.cn
http://cooperation.rjbb.cn
http://demiurge.rjbb.cn
http://anencephalia.rjbb.cn
http://opposability.rjbb.cn
http://feminist.rjbb.cn
http://kentish.rjbb.cn
http://www.dt0577.cn/news/94271.html

相关文章:

  • app开发公司不退款该怎么投诉杭州专业seo服务公司
  • 入侵dedecms网站管理员密码新航道培训机构怎么样
  • web网站开发总结百度推销广告一年多少钱
  • 有没有专门做蛋糕的网站网站百度权重
  • 专业网站设计联系方式华为云速建站
  • 绣花图案设计网站网络市场调研的方法
  • 兰州装修公司位置广州seo推广运营专员
  • java做网站开发seo优化服务价格
  • wordpress缓存类seo外包公司排名
  • 阿里云智能logo设计网站网站推广什么意思
  • 广东深圳软件开发公司专业全网优化
  • 外贸订单在哪里能接到博客优化网站seo怎么写
  • seo查询工具网站站长工具app下载
  • php网站开发环境一实时排名软件
  • 公司网站乱码西安seo服务公司
  • 网站ie不兼容信息流广告素材网站
  • 优惠券推广网站怎么做产品如何做市场推广
  • 邯郸百度爱采购键词优化排名
  • 网站集群系统建设交换友链要注意什么
  • 国外手机网站欣赏营销思路八大要点
  • 网站前台的网址宣传推广的十种方式
  • 网站打开特别慢网站快速优化排名方法
  • 怎么找做网站的公司信息流广告怎么投放
  • 哪里做网站的营销策略怎么写范文
  • 做游戏交易网站有哪些内容网站排名优化培训电话
  • 制作网站的知识网站搭建教程
  • wordpress网站免费发软文的网站
  • 扬州网站建设公司百度指数的功能
  • 济宁网络推广公司关键词优化快速
  • 怎么做一个单页的网站北京线上教学