文章目录
File类的静态成员变量File类的构造方法:java.io.File类获取功能的方法File类的判断功能的方法File类的创建删除功能的方法File类遍历(文件夹)目录功能
File类的静态成员变量
static String pathSeparator 与系统相关的路径分隔符字符,为方便起见,表示为字符串。 static char pathSeparatorChar 与系统相关的路径分隔符。 static String separator 与系统相关的默认名称 -分隔符字符,以方便的方式表示为字符串。 static char separatorChar 与系统相关的默认名称分隔符。
String pathSeparator
= File
.pathSeparator
;
System
.out
.println(pathSeparator
);
String separator
= File
.separator
;
System
.out
.println(separator
);
【注意】路径中的文件名称分隔符windows使用的是反斜杠,java中反斜杠是转义字符,两个反斜杠代表一个普通的斜杆
File类的构造方法:
File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例。 好处:把路径分成了两部分,父路径和子路径,可以单独书写,使用起来灵活,父路径和子路径都可以变化 父路径是File类型,可以使用File类型的方法对路径进行一些操作File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例。 好处:把路径分成了两部分,父路径和子路径,可以单独书写,使用起来灵活,父路径和子路径都可以变化File(URI uri) 通过将给定的 file: URI转换为抽象路径名来创建新的 File实例。
private static void demo01() {
File file
= new File("c:\\Hello.java");
System
.out
.println(file
);
}
private static void demo02(){
File file
= new File("c:\\","a.txt");
System
.out
.println(file
);
}
private static void demo03(){
File file
= new File("C:\\java");
File file1
= new File(file
,"jdk");
System
.out
.println(file1
);
}
java.io.File类获取功能的方法
String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
private static void demo01(){
File file
= new File("D:\\JDK API\\jdk api 1.8_google");
String absolutePath
= file
.getAbsolutePath();
System
.out
.println(absolutePath
);
File file1
= new File("jdk api 1.8_google");
String absolutePath1
= file1
.getAbsolutePath();
System
.out
.println(absolutePath1
);
}
String getPath() 将此抽象路径名转换为路径名字符串。
private static void demo02(){
File f1
= new File("D:\\JDK API\\jdk api 1.8_google");
String path1
= f1
.getPath();
System
.out
.println(path1
);
File f2
= new File("jdk api 1.8_google");
String path2
= f2
.getPath();
System
.out
.println(path2
);
System
.out
.println(f2
.toString());
}
String getName() 返回由此抽象路径名表示的文件或目录的名称。 获取的是构造方法传递l路径的结尾部分(文件/目录)
private static void demo03(){
File file
= new File("D:\\JDK API\\jdk api 1.8_google");
String name
= file
.getName();
System
.out
.println(name
);
File file2
= new File("D:\\JDK API");
String name1
= file2
.getName();
System
.out
.println(name1
);
}
long length() 返回由此抽象路径名表示的文件的长度。 获取的是构造方法指定的文件的大小,以字节为单位 注意:文件夹没有大小的说法,不能获取文件夹的大小 如果构造方法中给出的路径不存在或者不包含文件,则返回0
private static void demo04(){
File f1
= new File("D:\\JDK API\\jdk api 1.8_google\\jdk api 1.8_google.CHM");
System
.out
.println(f1
.length());
}
File类的判断功能的方法
boolean exists() 测试此抽象路径名表示的文件或目录是否存在。
private static void method() {
File f1
= new File("D:\\JDK API\\jdk api 1.8_google");
System
.out
.println(f1
.exists());
File f2
= new File("jdk api 1.8_google");
System
.out
.println(f2
.exists());
File f3
= new File("a.txt");
System
.out
.println(f3
.getAbsolutePath());
}
boolean isDirectory() 测试此抽象路径名表示的文件是否为目录。boolean isFile() 测试此抽象路径名表示的文件是否为普通文件。
private static void method1(){
File f1
= new File("D:\\JDK API\\jdk api 1.8_google");
if(f1
.exists()){
System
.out
.println(f1
.isDirectory());
System
.out
.println(f1
.isFile());
}else{
System
.out
.println("路径不存在");
}
File f2
= new File("D:\\JDK API\\jdk api 1.8_googledd");
System
.out
.println(f2
.isDirectory());
System
.out
.println(f2
.isFile());
}
File类的创建删除功能的方法
boolean mkdir() 创建由此抽象路径名命名的目录。//只能创建一个文件夹 如果构造方法中给出的路径不存在,则返回falseboolean mkdirs() 创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录。//可以创建多级文件夹 如果构造方法中给出的路径不存在,则创建该多级文件夹
private static void method2(){
File f1
= new File("day08\\111");
System
.out
.println(f1
.mkdir());
File f2
= new File("day09\\11");
System
.out
.println(f2
.mkdirs());
File f3
= new File("day08\\11\\22\\33\\44");
System
.out
.println(f3
.mkdirs());
File f4
= new File("D:\\111\\222");
System
.out
.println(f4
.mkdirs());
}
boolean createNewFile() 当且仅当具有该名称的文件尚不存在时,原子地创建一个由该抽象路径名命名的新的空文件
private static void method1() throws IOException
{
File f1
= new File("a.txt");
System
.out
.println(f1
.getAbsolutePath());
System
.out
.println(f1
.createNewFile());
File f2
= new File("D:\\IdeaProjects\\TWww\\a.txtt");
System
.out
.println(f2
.createNewFile());
}
boolean delete() 删除由此抽象路径名表示的文件或目录。 注意:1.如果文件夹中有内容,不会删除,返回false;构造方法给出的路径不存在,返回false 2.delete方法是直接从硬盘删除文件/文件夹,不走回收站 3.只能一层一层删除
private static void method3(){
File f1
= new File("day08\\111");
System
.out
.println(f1
.delete());
File f2
= new File("day08\\11\\22\\33\\44");
System
.out
.println(f2
.delete());
File f3
= new File("day08\\11\\22\\33");
System
.out
.println(f3
.delete());
}
File类遍历(文件夹)目录功能
String[] list()返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。File[] listFiles() 返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。 注意:1. List和listFiles遍历的是构造方法给出的目录 2. 如果构造方法中给出的路径不存在,会抛出空指针异常 3.如果构造方法中给出的路径不是一个目录,也会抛出空指针异常
private static void method(){
File file
= new File("D:\\IdeaProjects\\TWO");
String
[] list
= file
.list();
for(String filenames
: list
){
System
.out
.println(filenames
);
}
}
private static void method1(){
File file
= new File("D:\\IdeaProjects\\TWO");
File
[] list
= file
.listFiles();
for(File f
: list
){
System
.out
.println(f
);
}
}