day20 Io

Java.io.File

==============================================

*表示一个文件或者文件夹

*表示一个不存在的路径.


File f =new File("d:/a.txt")//windows当中支持/ 也可以用\\需要转译

File f=new File("d:\\","a.txt");


方法:

---------------------------------------------------------------------

RandomAccessFile

readXX()读取结束再读取.(readUTF)先确定字节数量(两个字节),再读取.

  EOF (end of file)

seek()方法可以移动指针,移动读写位置.

可以读也可以写.

write(int) 只截取最后一个字节.

-------------------------------------

IO流

-----------------------------------------------------------


1,FileOutputStream f=new FileOutputSream()//总是新建f,文件以前的数据会被重写.

2,FileOutputStream f=new FileOutputSream(true),追加以前的内容不会被覆盖.

3,单字节读取效率低的时候要用BufferedInputStream 


4,DataInputStream >>>存取固定格式的内容.

write(int a) 会直接截取最后一个自己写入int值 255以内不会出错.

5,BufferedInputStream 单字节读写提高效率.

6,printStream 转换成字符输出println windows中\r\n =ln 

--------------------------------------------------------------------------------------

字符编码

1, 0-127 位置,每个数字代表一个字符.


2, 隔开32个位置 ISO-8859-1 

159 -255位置  

 

3. GB2312 包含中文 7k+  

256(一个字节对多255)到亚洲之后都变成了双字节.255*255=65535


GBK 20902 新华字典21000左右


4,UNICODE-统一码 ,万国码


*)任何字符 ,都用双字节表示

*)包含70w+字符


Unicode 传输码


UTF-8 英文字符会转成1个字节 标点2个字节,中文3字节

UTF-16Be 双字节序,大字节序

UTF-16Le 双字节 小字节序


java 中的字符编码转换


* java中的字符是unicode编码


*将java 中的字符串转换成为其他编码格式

Unicode----->其他编码.


String s="a中";

byte[]arr=s.getBytes();//转为默认编码

byte[]arr=s.getBytes("UTF-8")转换成指定编码.


*其他编码字节格式转为 java 中的字符串

其他编码 ------->Unicode

String s=new String (byte[]数组)  //默认Unicode 

String s=new String (byte[]数组,"UTF-8")  // UTF-8 编码字符串转换成为Unicode 


*如果引用控件的id是在xml的下面定义的需要使用@+id/预先定义id下面的id值.


ByteArrayInputStream/ByteArrayOutputStream

=======================================================

1,创建实例时在内存当中维护一个数组.不用加buffer效率依然很高.加buffer也没多大意义.


2 ,ObjectInputStream/ObjectOutputStream 对象序列化transient(瞬间,瞬态)和static修饰的成员不会被序列化.


3,serialVersionUID 反序列化时比对序列化中的id 和类中的id是否相同如果相同可以恢复,如果不相同不能恢复.

















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值