安卓开发之java基础笔记十IO流

IO(input/output)流:
分类:
根据数据的流向可以分为:

输入流(读的操作)和输出流(写的操作),流方向的区别是以内存为参照。
根据对流的操作的数据类型可以分为
字节流【byte】:InputStream 是所有的字节输入流的祖先   OutputStream是所有字节输出流的祖先
FileInputStream(extends InputStream):
字节输入流。通过read()方法实现以字节的方式对文件进行读取的操作。
FileOutputStream(extends OutputStream):
字节输出流。通过write()方法实现以字节的方式对文件进行写的操作。

字符流【char】:Reader 字符输入流的祖先  writer字符输出流的祖先
FileReader(extends Reader):
是以字符为单位来读文件
FileWiter(extends Witer):
是以字符为单位来写文件
它们都比较擅长对字符文件进行操作,如果文件的存储方式是以字符方式存储,推荐使用这两个类。

File类:文件和目录路径名的抽象表示形式
是一个文件或文件夹的抽象。
提供对文件和文件夹进行操作的各种方法。
常用方法:
exists()测试此抽象路径名表示的文件或目录是否存在
getName()返回由此抽象路径名表示的文件或目录的名称
length() 返回由此抽象路径名表示的文件的长度
isFile() 测试此抽象路径名表示的文件是否是一个标准文件
isDirectory() 测试此抽象路径名表示的文件是否是一个目录
mkdir()创建此抽象路径名指定的目录
mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录.
delete() 删除此抽象路径名表示的文件或目录。
isHidden() 测试此抽象路径名指定的文件是否是一个隐藏文件。
lastModified() 返回此抽象路径名表示的文件最后一次被修改的时间。
list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
list(FilenameFilter filter) 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。


BufferedInputStream:
在FileInputStream之上添加了一个缓冲区,如果要操作二进制的文件比较大,使用BufferedInputStream读取效率比较高。
BufferedOutputStream:
在FileOutputStream之上添加了一个缓冲区,如果要写的数据比较多,使用BufferedOutputStream效率比较高

BufferedReader:
对FileReafer进行了修饰,在FileReafer字符流的基础添加了缓冲区,在读取的字符文件比较大的时候不需要自行设计缓冲区,默认添加了缓冲区大小为(8k)也可以在创建对象时自行设计缓冲区大小。
BufferedWriter:
对FileWiter进行了修饰,在FileWiter字符流的基础上添加了缓冲区,在写字符文件时,会把写入的内容写入缓冲区,再刷新到磁盘中,提高输出效率。

OutputStreamWriter:
将字符输出流转换成字节输出流。
InputStreamReader:
将字节输入流转换成字符输入流。
内存操作流:
ByteArrayInputStream:
内存操作输入流。读取的数据来自于内存。
ByteArrayOutputStream:
内存操作输出流。输出数据的目标是内存。

数据操作流:
DateInputStream:
针对java基本数据类型输入。
DateOutputStream:
针对java基本数据类型输出。

字符编码:
utf-8和gbk支持中文

Xml【可扩展标记语言】
是一种简单的数据存储语言,使用一系列简单的标签描述数据。
应用场合:
数据存储
数据交换
数据配置
3种文件的解析:
Pull解析:
解析步骤:
1.创建解析器工厂
2.创建解析器对象
3.将解析器与Xml流文件进行关联
4.根据触发事件类型不同在解析的过程中获取不同的数据。
Dom解析:
1.获得Dom解析器工厂
2.获得Dom解析器
3.通过解析器将XML文档转换成一个DOM对象
4.DOM对象作为整个解析的起点。
5.调用DOM的各种方法进行解析

DTD(document type definition)文档类型定义语言,通过dtd文档可以对编写的XML文件进行有效性约束,使得我们的XML文件更加通用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值