File
File的delete方法用于删除此抽象路径名表示的文件或目录
-boolean delete()
-返回值:当且仅当成功删除文件或目录时,返回true,否则返回false.
需要注意的是,若此File对象所表示的是一个目录时,在删除时需要保证此为空目录才可以成功
删除(目录中不能含有任何子项)
isDirectory()方法
.File的isDirectory方法用于判断当前File表示的是否为一个目录
-boolean isDirectory()
-返回值:当前File对象表示的是一个目录时返回true,否则返回false
ps:当File对象所表示文件或目录不存在时,使用isDirectory()不会出异常,返回false,基于JDK1.8
环境
public void Director01() {
File file = new File("demo");
System.out.println(file+"是否是一个目录:"+file.isDirectory());
}
mkdir()方法:
.File的mkdir()方法用于创建此抽象路径指定的目录
-boolean mkdir()
-返回值:当且仅当已经创建目录时,返回true;否则返回false
mkdirs()方法:
mkdirs()方法用于创建此抽象路径名指定的目录,包括所必须但不存在的父目录.
ps:这个方法如果失败也可能会创建部分所需要的父目录
返回值:boolean类型
public void testMkdir() {
File file = new File("demo"+File.separator+"myDir");
File file1 = new File("demo1"+File.separator+"myDir");
System.out.println(file.mkdir());
System.out.println(file1.mkdirs());
}
文件操作:
ListFiles()方法:
File的listFiles方法用于返回一个抽象路径名数组,这路径名表示此抽象路径名表示的目录中的
子项(文件或目录)
-File[] listFiles();
-返回值说明:抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件和目录,如果目录
为空,那么数组也将为空,如果抽象路径名不表示一个目录,或者发生I/O错误,则返回null
FileFilter接口
.FileFilter用于抽象路径名的过滤器
此接口的实例可传递给File类的listFiles(FileFilter)方法,用于返回满足该过滤条件的子项
-File[] listFile(FileFilter filter).
RandomAccessFile
简介:
.java提供了一个可以对文件随机访问的操作类,访问包括读和写操作,该类名为RandomAccessFile,
该类的读写是"基于指针"的操作.
只读模式
.RandomAccessFile在对文件进行随机访问操作是有两种模式,
分别为只读模式(只能读取文件内容),和读写模式(对文件数据进行读写)
.只读模式
在创建RandomAccessFile时,其提供的构造方法要求我们传入访问模式
RandomAccessFile(File file,String model)
RandomAccessFile(File pathName,String model)
ps:第二种方式指定的pathName,如果不存在,则会在当前指定目录下直接创建
-其中第一个参数是需要访问的文件,而第二个参数则是访问模式:
"r":字符串"r"表示对该文件访问时只读的
"rw":字符串"rw"表示对该文件访问是读写的.
例如:
RandomAccessFile raf = new RandomAccessFile(file,"rw");
字节数组的读写操作:
read:
RandomAccessFile提供了一个可以从文件中读取"字节"的方法.
-int read();
该方法会从文件中读取一个byte(8位)填充到int的第八位,高24位为0,返回值范围正数(0-255),
如果返回-1表示读取到了文件末尾,每次读取后自动移动文件指针,准备下次读取.
-int write()
向文件中写入一个字节,写入的值为int的低八位
write(byte[] d):
RandomAccessFile:提供了一个从文件中写出一组字节的方法:
-void write(byte[] d)
.该方法会根据当前指针所在位置连续写出给定数组中的所有字节
read(byte[] d);
.RandomAccessFile:提供了一个可以从文件中批量读取字节的方法
-int read(byte[] d)
.该方法会从指针位置处尝试最多读取给定数组的总长度的字节量,并从给定的字节数组第一个
位置开始,将读取到的字节顺序存放至数组中,返回值为实际读取到的字节量
close();
RandomAccessFile在对文件访问的操作全部结束后,要调用close()方法来释放与其关联的所有
系统资源.
-void close
文件指针操作>
getFilePointer方法
RandomAccessFile的读写操作都是基于指针的,也就是说总是在指针当前所指向的位置进行
读写操作
方法
-long getFilePointer();
该方法用于获取当前RandomAccessFile的指针位置
seek方法
RandomAccessFile提供了一个方法用于移动指针位置.
方法:
-void seek(long pos)
该方法用于移动当前RandomAccessFile的指针位置
skipBytes方法
.RandomAccessFile提供了方法可以尝试跳过输入的n个字节以丢弃跳过的字节
方法:
-int skipBytes(int n)
.该方法可能跳过一些较少数量的字节(可能包括零),这可能有任意数量的条件引起,在跳过n个字节
以前就达到文件末尾只是其中一种可能.
此方法不会抛出EOFException异常,返回值其实际跳过的字节数,如果n为负数则代表不跳过任何
字节.