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

网站建设 汇卓旅游论坛网站建设

网站建设 汇卓,旅游论坛网站建设,个人网站app,用织梦做的网站好用吗字符集 规定了字符和二进制之间对应关系的一张表 字节是计算机最基本的存储单位 字符则是通过字符组成和编码而成的文本 常见字符集 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 serialVersionUID123456789;序列化的使用 将对象提前存在容器中,需要序列化时直接序列化容器对象即可 存入时存入一次容器 读取时也只需读取一次,避免循环判断 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://www.w-s-a.com/news/528411/

相关文章:

  • 网站表单及商品列表详情模板永川网站制作联系电话
  • 网站建设与维护难不难网络服务机构的网站
  • 用三权重的网站做友链有好处没企业年金怎么查询
  • 工行网站跟建设网站区别wordpress加入地图
  • 网站的风格对比信息表广告门
  • 教育网站建设毕业设计说明书门户网站模式
  • 洛阳霞光建设网站html做分模块的网站
  • 域名建议网站wordpress 伪静态html
  • 网站风格化设计方案免费模式营销案例
  • 凤翔网站建设农村建设自己的网站首页
  • 怎样用网站做单笔外贸建筑设计公司合作加盟
  • 建网站买的是什么网站开发三层结构
  • wordpress图纸管理网站2345网址导航智能主版
  • 想调用等三方网站数据该怎么做培训课程
  • 高端营销网站建设wordpress咨询
  • 网站搜索框如何做创业怎么做网站
  • 网站手机版管理链接产品推广找哪家公司
  • vuejs 可做网站吗蜘蛛互联网站建设
  • 沈阳网站备案查询17zwd一起做业网站
  • 石家庄大型公司建站广州设计网站培训学校
  • 如何让百度收录中文域名网站wordpress前台管理评论
  • 铁岭 建筑公司网站 中企动力建设佛山app开发公司
  • 网站开发用的电脑深圳专业网站建设服务
  • 内容营销价值wordpress博客优化插件
  • 最优惠的郑州网站建设淘宝网商城
  • 做封面网站企业网站优化服务商
  • 电子商务网站设计是什么蚌埠铁路建设监理公司网站
  • .name后缀的网站做房产网站多少钱
  • 手机上传网站源码网站app封装怎么做
  • 做的网站放在阿里云网站建设投标书范本