java包学习之IO

第一 java IO的专题

 

java包学习之IO_第1张图片

第二 编码  

1.从桌面创建内容为“联”的txt,打开为乱码开始讲起,原因是我们的电脑默认是创建ansi编码的,但是“联”字比较特别,编码会被认为是utf-8的,所以会出现乱码

2.utf-8是的中文是占用三个byte 英文是1个byte

java的默认编码是utf-16be 双字节编码 中文 英文都是两个字节

3.当你的字节序列是某种编码时,这时候想把字节序列变成字符串,那么也需要用这种编码方式,否则会出现乱码

例如: 

byte [] toByte="中国".getBytes("utf-8");  那么你 String toStr=new String(toByte,"utf-8");这两个编码必须保持一致,不然字符串会出现乱码

第三  File 类和 RandomAccessFile

1.File 类只用于表示文件或目录的信息(名称,大小) 不能用户文件内容的访问

2.RandomAccessFile 提供了对文件内容的访问,既可以读文件,也可以写文件,支持随机访问

第四 java的字节流与字符流架构图

java包学习之IO_第2张图片

 

1. 字节流 

java包学习之IO_第3张图片

java包学习之IO_第4张图片

7.DataOutputStream 和DataInputStream是对我们FileOutputStream和FileInputStream的一种封装

java包学习之IO_第5张图片

java包学习之IO_第6张图片

 2.字符流

 (1)理解byte和char的区别 

 byte说白了就是一个由8个0/1组成的数据类型,表示-128-127,char是没有正负只说,就是由16位二进制来组成的数据类型,char的表示大小为0-65535 ,它表示一个字符

 java包学习之IO_第7张图片

java包学习之IO_第8张图片

 第五 对象的序列化与反序列化

 java包学习之IO_第9张图片

java包学习之IO_第10张图片

 

参考慕课网:https://www.imooc.com

 

你可能感兴趣的:(java包学习之IO)