黑马程序员_IO(三)

----------------------------------------------------------------------------- android培训java培训、期待与您交流! --------------------------------------------------------------------------------

File类

 

用来将文件或者文件夹封装成对象

方便对文件与文件夹的属性信息进行操作 。

File对象可以作为参数传递给流的构造函数。

了解File类中的常用方法。

 

 

递归

 

函数自己调用自己。

注意:递归时一定要明确结束条件。

 

应用场景:

当某一功能要重复使用时。

 

练习:

列出一个文件夹下所有的子文件夹以及子文件

 

思考:

1,删除一个目录的过程是如何进行的?

 

 

IO包中的其他类

 

RandomAccessFile

随机访问文件,自身具备读写的方法。

通过skipBytes(intx),seek(int x)来达到随机访问。

 

管道流

PipedInputStream和PipedOutputStream

输入输出可以直接进行连接,通过结合线程使用。

 

打印流

PrintWriter与PrintStream

可以直接操作输入流和文件。

 

序列流

SequenceInputStream

对多个流进行合并。

 

操作对象

ObjectInputStream与ObjectOutputStream

被操作的对象需要实现Serializable(标记接口);

 

练习:文件分割程序。

 

操作基本数据类型

DataInputStream与DataOutputStream

 

操作字节数组

ByteArrayInputStream与ByteArrayOutputStream

 

操作字符数组

CharArrayReader与CharArrayWrite

 

操作字符串

StringReader与StringWriter

 

字符编码

字符流的出现为了方便操作字符。

更重要是的加入了编码转换。

通过子类转换流来完成。

InputStreamReader

OutputStreamWriter

在两个对象进行构造的时候可以加入字符集。

 

编码表的由来

计算机只能识别二进制数据,早期由来是电信号。

为了方便应用计算机,让它可以识别各个国家的文字。

就将各个国家的文字用数字来表示,并一一对应,形成一张表。

这就是编码表。

 

常见的编码表

ASCII:美国标准信息交换码。

用一个字节的7位可以表示。

ISO8859-1:拉丁码表。欧洲码表

用一个字节的8位表示。

GB2312:中国的中文编码表。

GBK:中国的中文编码表升级,融合了更多的中文文字符号。

Unicode:国际标准码,融合了多种文字。

所有文字都用两个字节来表示,Java语言使用的就是unicode

UTF-8:最多用三个字节来表示一个字符。

 

 

转换流的编码应用

可以将字符以指定编码格式存储。

可以对文本数据指定编码格式来解读。

指定编码表的动作由构造函数完成。

 

 

字符编码

编码:字符串à字节数组

解码:字节数组à字符串

 

----------------------------------------------------------------------------- android培训java培训、期待与您交流!--------------------------------------------------------------------------------
详细请查看:http://edu.csdn.net/heima/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值