A
File类
Java.io.File用于表示文件或者目录,也就是说程序员可以通过File类在程序中操作硬盘的文件和目录
File类只用于表示文件(目录)的信息(名称、大小、路径等),不能对文件的内容进行访问。
构造方法:--File(String pathname);
--通过将给定的路径名字符串转换成抽象路径名来创建一个新的File示例。
--File(File f,String fileName)
路径:从某点出发到达目标位置所经历的路线;
---相对路径:从当前位置出发到达目标文件(目录)所经历的路劲,称为相对路径。
如:JAVASE\bin\day01
---绝对路径:从文件系统顶端出发到达目标文件(目录)所经历的路径,称为绝对路径。
如:D:\JAVASE\bin\day01
---抽象路径尽量使用相对路径,并且目录直接的分割不要用”/“”\“,应该用File.separator这个常量表示,以避免不同系统带来的差异。
File类常用API
--exists():判断当前目录文件是否存在,如果存在返回true,反之返回false。
--isFile():判断当前File对象所表示的是否是一个文件,如果是返回true,反之返回false。
--length():表示当前File对象表示的文件所占字节量。
--createNewFile():如果指定的文件不存在并成功创建,返回值就是true,如果指定的文件已经存在,则返回false。
--delete():删除文件。
--mkedir():创建此抽象路径名指定的目录[创建一层目录]。
--mkedirs():用于创建抽象路径名指定的目录,包括所有但不存在的父目录。
--isDirectory():判断当前File对象是否是文件夹。
当用delete()方法去删除目录时,要确保删除的目录里不包含其他子项。
listFiles():返回值:当前File对象子项构成的数组;如果目录为空,那数组也将为空,如果抽象路径名不表示一个目录或者发生了I/O异常,则返回值为null
FileFilter接口:用于抽象路径名的过滤器。用于返回满足该过滤器要求的子项。
RandomAccessFile类
java提供的此类可以对文件随机访问操作,访问就包括读写操作,该操作是基于指针的。
构造方法:RandomAccessFile(File file,String mode);
--RandomAccessFile(String filename,String mode);
--其中第一个参数是表示需要访问的文件;第二个参数是访问模式:
访问模式:--"r":表示对该文件的访问是只读;
--“rw”表示对该文件即可读也可以写
void write(int d);该方法会根据当前指针所在位置处写入一个字节,是将参数d的“低8位”写出。
int read():该方法会从文件中读取一个byte(8位)填充到int的低8位高的24位都默认为0;如果read()读取的结果返回是-1,表示读取到了文件末尾!每次读取之后会自动移动文件指针,准备下次读取。
write(byte[] d):该方法会根据挡墙指针所在位置处读写处给定数组中的所有字节
write(byte[],int offset,int len):该方法会根据当前指针所在位置处连续写出给定数组中的部分字节,这个部分字节是从数组的offset处开始,连续len个字节。
int read(byte[] b)该方法会从指针处尝试最多读取给定数组的总长度的字节量,并从给定的字节数组第一个位置开始,将渠道的字节顺序存放到数组,返回值为实际读到的字节量。
long getFilePointer():该方法用于获取RandomAccessFile对象的指针位置。
seek(long pos):该方法用于移动当前RandomAccessFile对象的指针位置
skipBytes(int n):尝试着跳过输入的n个字节。返回为跳过的实际字节书。