一、概述
Java的IO通过java.io包下的类和接口来实现,在java.io包下主要包括输入、输出两种IO流,每种输入输出流又可以分为字节流和字符流两大类。
其中字节流是以字节(8位2进制)为单位的,字符流是以字符(文本)为单位处理。此外,java的IO流使用装饰器设计模式,将IO流分成底层节点流和上层处理流,其中节点流用于和底层物理存储节点直接关联(不同的物理节点获取节点流的方式可能不同)。
Java7在java.nio中提供了一系列全新的api,因此也成为NIO2,可以更高效的进行输入输出操作。
java对象的系列化机制。
二、File类
File类代表与平台无关的文件和目录。File本身不能对文件内容进行访问,只能对文件或目录进行操作(新建,删除,重命名)。
2.1 访问文件和目录:
File类使用文件路径字符串创建实例。该路径既可以是绝对路径,也可以是相对路径。
相对路径:系统总是依据工作目录来解释相对路径,这个路径由系统属性“user.dir”指定,通常也是java虚拟机所在路径。
绝对路径:C:\\jiangwei\\jiangwei.txt 或者 C:/jianwei/jiangwei.txt(java同时支持这两种文件路径分隔符)
2.1.1 访问文件名相关方法:
String getName():返回File对象表示的文件名或目录名(目录名只返回最后一级子目录名)
String getPath():返回File对象对应的路径名。
File getAbsoluteFile():返回绝对路径对应的File对象
String getAbsolutePath():返回此File对象所对应的绝对路径名
String getParent():获得父路径名
boolean renameTO(File newName): 重命名一个文件
2.1.2 文件检测相关方法:
boolean exists(): 判断File对象在文件系统中是否存在
boolean canWrite():判断File对象是否可写
boolean canRead():判断File对象是否可读
boolean isFile():判断File对象是否是一个文件
boolean isDirectory():判断File对象是否是一个目录
2.1.3 获取文件常规信息
long lastModified():返回文件的最后修改时间