一、File类
1.File:文件和目录路径名的抽象表示,File类的实例不可以改变
2.构造方法:
(1)File(File parent,String child):根据指定的父路径对象和文件路径创建File对象
File parent = new File("D:\\a");
File f = new File(parent,"b.txt");
(2)File(String pathname):// 将指定的路径名转换成一个File对象
File f = new File("D:\\a\\b.txt");//只是将File指向路径,如果所在路径没有该文件,也不会创造新的文件
(3)File(String parent,String child)//根据指定的父路径和文件路径创建File对象
File f = new File("D:\\a","b.txt");
3.File的常见功能:
(1)创建功能
boolean createNewFile(): 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
boolean mkdir():创建此抽象路径名指定的目录。
boolean mkdirs():创建此抽象路径名指定的目录,包括所有必需但
(2)删除功能
boolean delete(): 删除此抽象路径名表示的文件或目录。
注意:删除一个文件夹,这个文件夹下面不能 有其他的文件和文件夹
(3)获取功能
File getAbsoluteFile():返回此抽象路径名的绝对路径名形式。
String getAbsolutePath(): 返回此抽象路径名的绝对路径名字符串。
String getName():返回由此抽象路径名表示的文件或目录的名称。
String getParent():返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。
File getParentFile():返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回null
String getPath() :返回创建file对象是给的路径
(4)判断功能
boolean exists():测试此抽象路径名表示的文件或目录是否存在。
boolean isAbsolute():测试此抽象路径名是否为绝对路径名。
boolean isDirectory():测试此抽象路径名表示的文件是否是文件夹 。
boolean isFile(): 测试此抽象路径名表示的文件是否是一个文件。
boolean isHidden():测试此抽象路径名指定的文件是否是一个隐藏文件。
long lastModified(): 返回此抽象路径名表示的文件最后一次被修改的时间,。
long length():返回文件字节数。
(5)修改功能
boolean renameTo(File dest):将当前File对象所指向的路径修改为指定File所指定的路径
File f1 = new File("a.txt")
File f2 = new File("b.txt")
f1.renamrTo(f2)
(6)重要获取功能
String[] list():返回当前路径下所有的文件和文件夹名称
string[] files = f.list();
for(int i = 0;i <files.length;i++){
System.out.println(files[i]);
}
File[] listFiles():可以获取的功能比String[] list多
File[] files = f.listFiles();
for(File file : files){
System.out.println(file);
}
static File[] listRoots():返回的是所有盘符
File[] files = File.listRoots()
for(File file : files){
System.out.println(file);
}
例子:输出指定目录下所有的Java文件名(包含子目录)
if(file.isDirectory()){
File[] files = file.listFiles();
for(File f:files){
if(f.isFile()){
if(f.getName().endWith(".java")){
System.out.println(f.getName()); }else{
method(f);
}
}
}
}
例子:删除指定的目录(包含子目录)
注意:如果要删除一个目录,则需要先还是暗处这个目录下的所有子文件和子目录
public static void method(File f){
if(file.isDirectory()){
File[] files = file.listFiles();
for(File f: files){
if(f.isFile()){
f.delete();
}
else if(f.isDirectory()){
method(f);
}
file.delete();
}
}
}
网友评论