一、I/O
Input/Output
二、File
用途:对文件和目录进行常规操作(除文件读写操作外)。
方法:exists():判断文件或目录是否存在
isFile():判断是否是文件
isDirectory():判断是否是目录
creaetNewFile():创建文件
mkDir():创建目录
length():获取文件的大小
getAbsolutePath():获取绝对路径(目录名+文件名)
listFiles():获取目录下的所有子目录和文件
get...|set...操作文件的属性的方法
三、文件的读写操作
文件的读写操作通过流来实现。
流根据流向可以划分为:输入流(InputStream和Reader)、输出流(OutputStream和Writer)
流根据处理单元可以划分为:字节流(InputStream和OutputStream)、字符流(Writer和Reader)
字节流是8位通用字节流;字符流是16位Unicode字符流(中文占2个字节)。
流向以“内存”作为参照物。
输入输出 - 文件读写操作
四、IO类的层次关系
抽象类:InputStream(read、close、avilable)、OutputStream(write、close)、Reader(read、close)、Writer(write、close)
实现类:
InputStream OutputStream Reader Writer
FileInputStream FileOutputStream InputStreamReader OutputStreamWriter
DataInputStream DataOutputStream FileReader FileWriter
ObjectInputStream ObjectOutputStream BufferedReader BufferedWriter
八、其他
1.不同的操作系统文件路径分隔符是不一样的。
windows操作系统:c:windows est.txt c:/windows/test.txt
Linux操作系统:/book/book1.txt
推荐:以后在java中用到目录分隔符时,统一使用/。
2.在windows中,诸如c盘d盘等的官方名称:磁盘驱动器
3.每次在读写文件完毕后,一定要关闭流。
4.换行
windows平台:
Linux:
5.以字符流的方式读写文件时,会出现乱码问题。通过指定编码格式。
ASCII、GB2312、GBK、UTF-8