黑马程序员-JAVA高级(IO输入与输出)PART4
来源:互联网 发布:2017淘宝店铺过户流程 编辑:程序博客网 时间:2024/04/27 19:50
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
这部分内容的知识点为:
1.IO包中的其他几个类;
2.字符编码;
3.练习。
一、IO包中的其他几个类
1.对象的序列化:ObjectInputStream和ObjectOutputStream
2.管道流:PipedInputStream和PipedOutputStream
输入输出可以直接进行连接,通过结合线程使用。不要对这两个对象使用单线程,因为这样可能死锁线程。
3.RandomAccessFile
随机访问文件,自身具备读写的方法。
该类直接继承自Object,不算是IO体系中的子类,但因为读和写功能,它是IO包中成员。其内部封装了一个数组,通过指针对数组元素进行操作。
其实读写的原理就是内部封装了字节输入流和输出流。
通过构造函数可以看出,该类只能操作文件,包含模式:只读r,读写rw。
如果模式为只读r,只能去读取一个已经存在的文件,如果文件不存在,会出现异常而不会创建;如果模式为读写rw,如果要操作的文件不存在会自动创建,如果存在不会覆盖。
ByteArrayInputStream在构造的时候,需要接收数据源,而且数据源是一个字节数组。
ByteArrayOutputStream在构造的时候,不用定义数据目的,因为该对象内部已经封装了可变长度的字节数组,这就是数据目的。
因为这两个流对象操作的都是数组,没有使用系统资源,所以不用进行关闭操作。
常见的编码表:
ASCII:美国标准信息交换码,用一个字节的7位表示;
ISO8859-1:拉丁码表(欧洲码表),用一个字节的8位表示;
GB2312:中国的中文编码表;
GBK:升级的中文编码表,融合更多中文字符;
Unicode:国际标准码表,融合多种文字。所有字符都用两个字节来表示,Java语言使用的就是Unicode。
UTF-8:最多用三个字节表示一个字符,可以是一个或两个字节。
1.转换流的字符编码
2.字符编码
编码:字符串变成字节数组
解码:字节数组变成字符串
以上代码编码解码的过程类似tomcat服务器中的编解码过程。tomcat服务器默认编码是iso8859-1,如果浏览器提交的数据是gbk编码的汉字,服务器收到后就是乱码,所以必须再次通过iso8859-1编码,然后再通过gbk解码才可以。但如果服务器端的编码默认是utf-8,就不可以这样做。3.字符编码-联通
现象:在一个文本文件中仅仅输入“联通”两个字,保存之后再次打开的时候显示的是乱码。
解释:文本文件的默认编码是gbk,“联通”两个字通过gbk编码后是11000001 10101010 11001101 10101000,正好符合utf-8编码的形式,所以再次打开文本文件的时候会被误认为是utf-8编码而用utf-8解码,自然就显示乱码。
三、练习
需求:每个学生有三门课的成绩,从键盘按一定的格式输入学生的姓名和三门成绩(如zhangsan,38,89,98),计算出总成绩,并按总成绩的高低顺序把每个学生的信息存放在磁盘文件“stud.txt”中。
1.描述学生对象;
2.定义一个可操作学生对象的工具类。
思想:
1.获取键盘录入的一行数据,提取信息封装成学生对象;
2.因为要存储学生信息,所以使用集合,又因为要排序,所以用TreeSet对象;
3.将集合的信息写入文件中。
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net
- 黑马程序员-JAVA高级(IO输入与输出)PART4
- 黑马程序员-JAVA高级(IO输入与输出)PART1
- 黑马程序员-JAVA高级(IO输入与输出)PART2
- 黑马程序员-JAVA高级(IO输入与输出)PART3
- 黑马程序员 (4)JAVA高级 IO输入与输出部分
- 黑马程序员--java IO输入与输出
- 黑马程序员--java高级视频_io输入与输出
- 黑马程序员——java IO输入与输出
- 黑马程序员-Java IO输入与输出-day18
- 黑马程序员-Java IO输入与输出-day19
- 黑马程序员-Java IO输入与输出-day20
- 黑马程序员-Java IO输入与输出-day21
- 黑马程序员--Java基础--06输入与输出流IO
- 黑马程序员之IO 输入与输出
- 黑马程序员--IO输入与输出
- 黑马程序员--IO输入与输出(一)
- 黑马程序员--IO输入与输出(二)
- 黑马程序员 (5)IO输入与输出2
- 写在前面的话
- 我跳我跳我跳跳跳&&BFS
- 《学习OpenCV》练习7-1
- 简单工厂模式 & 策略模式
- java学习笔记 异常知识小结
- 黑马程序员-JAVA高级(IO输入与输出)PART4
- 01背包&&小P寻宝记
- 关于文件输入输出的集中方法总结
- 【PAT1044】Shopping in Mars 二分法
- JAVA MAIL发送中文附件失败的原因
- 贪心问题
- 《学习OpenCV》练习7-2
- java转移字符
- java学习笔记<十>接口