java的IO和NIO

java的IO和NIO

File
InputStream / OutputStream
FileInputStream / FileOutputStream
BufferedInputStream / BufferedOutputStream
ObjectInputStream / ObjectOutputStream
Reader / Writer
InputStreamReader / OutputStreamWriter
BufferedReader

2 File

文件或文件夹属性方法
exists() 路径是否存在
isFile() 是否是文件
isDirectory() 是否是文件夹
length() 文件的字节量, 对文件夹无效
getName() 文件名
getParent() 父目录
getAbsolutePath() 完整路径
创建、删除文件或文件夹
createNewFile() 创建文件
mkdirs() 创建多层文件夹
delete() 删除文件,或空文件夹
File.createTempFile() 在系统临时目录下创建临时文件
    文件夹的文件列表
list()
获得 String[] 数组
    包含所有文件或文件夹名称字符串
listFiles()
获得 File[] 数组
    包含文件或文件夹路径的封装对象

3.流 Stream

把数据读写,抽象成数据在管道中流动
    单向流动
顺序从头到尾流动一次

4 InputStream/OutputStream

字节流的抽象父类
    方法
write( int b)
int的四个字节中,只输出末尾的一个字节
write( byte[] buff)
输出数组中全部字节值

write( byte[] buff, start, length)
输出数组中,从start开始的length个字节值

read()
读取1个字节,再补三个0字节,转成int
读取结束,再读取,返回 - 1

read( byte[] buff)
根据数组的长度,读取一批字节值,放入指定的数组,并返回这一批的数量

读取结束,再读取,返回 - 1

5 高级流、操作流

与其他流相接,提供特定的数据处理功能
对高级流的操作,会对相接的流,执行相同操作
    高级流不直接接数据源
提供内存缓冲区,来提高单字节的读写效率
    BufferedInputStream
单字节读取数据,缓冲流帮助做批量读取
l BufferedOutputStream
单字节输出,先把字节值,缓存在内部数组中,缓存存满,做批量输出
缓存不满,也可以手动刷出 flush ()

6. Reader/Writer

字符流的抽象父类
    方法
write( int c)
int四个字节中,末尾两个字节是char类型字符,把末尾两个字节,转换成其他编码再输出

write( char[] buff)
输出全部字符

write( char[] buff, start, length)
输出从start开始的length个

write(String s)
输出字符串的全部字符

read()
读取一个字符的字节值,补两个0字节,转成int

读取结束,再读取,返回 - 1

read( char[] buff)
批量读取
    返回这一批的字符数量

读取结束,再读取,返回 - 1

7 InputStreamReader/OutputStreamWriter

字符编码转换流
    InputStreamReader
读取其他编码字节值,转成Unicode

8 BufferedReader/BufferedWriter

字符缓冲流,提高单字符读写效率
    BufferedReader
readLine()

读取一行字符串,不含末尾换行符

读取结束,再读取,返回null
posted @ 2020-03-10 15:30  smileLS66  阅读(50)  评论(0编辑  收藏  举报