File类的常用方法介绍
构造方法:
File(String pathname) (常用)(一个字符串作为文件目录)
File(String parent, String child) (两个字符串拼接成一个文件目录)
File(File parent, String child) (一个file对象和字符串拼接成一个文件目录)
演示:
public class Demo {
public static void main(String[] args) {
//File(String pathname) (常用)(一个字符串作为文件目录)
File file1 = new File("C:\\a");
//File(String parent, String child) (两个字符串拼接成一个文件目录)
File file2 = new File("C:\\a","b\\c");
//File(File parent, String child) (一个file对象和字符串拼接成一个文件目录)
File file3 = new File(file1,"b\\c");
}
}
静态方法:
pathSeparator 表示 路径分隔符 ;
separator 表示 文件分隔符 \ (windows) 或 / (linux)
演示:
public class Demo {
public static void main(String[] args) {
//separator 表示 文件分隔符 \(windows) 或 /(linux)
File file1 = new File("C:" + File.separator + "a" + File.separator + "b");
}
}
结果:C:\a\b
文件与文件夹创建方法:
boolean createNewFile() 创建一个空文件 如果该文件已经存在返回false 如果不存在创建并返回true。
boolean mkdir() 创建一个空目录(文件夹) 如果该目录已经存在返回false 如果不存在创建并返回true。
boolean mkdirs() 创建多个空目录(文件夹) 成功返回true 失败返回false。
createNewFile演示:
public class Demo {
public static void main(String[] args)throws IOException {
File file1 = new File("D:\\b.txt");
boolean newFile = file1.createNewFile();
System.out.println(newFile);
//如果在创建b.txt文件时没有a文件夹会报异常
/*File file1 = new File("D:\\a\\b.txt");
boolean newFile = file1.createNewFile();
System.out.println(newFile);*/
}
}
注意:在创建文件时,要确保文件所在的文件夹存在,不然会报异常
mkdir演示:
public class Demo {
public static void main(String[] args)throws IOException {
File file1 = new File("D:\\a");
boolean mkdir = file1.mkdir();
System.out.println(mkdir);
//如果创建文件夹时出现多级文件夹都不存在 使用mkdir是创建不成功的,必须使用mkdirs
/*File file1 = new File("D:\\a\\b\\c");
boolean mkdir = file1.mkdir();
System.out.println(mkdir);*/
}
}
注意:创建文件夹时出现多级文件夹都不存在 使用mkdir是创建不成功的,必须使用mkdirs
mkdirs演示:
public class Demo {
public static void main(String[] args)throws IOException {
File file1 = new File("D:\\a\\b\\c");
boolean mkdirs = file1.mkdirs();
System.out.println(mkdirs);
//c.txt也会被创建成一个文件夹,并且是以c.txt命名的文件夹,并不会创建成文件
/*File file1 = new File("D:\\a\\b\\c.txt");
boolean mkdirs = file1.mkdirs();
System.out.println(mkdirs);*/
}
}
文件的属性获取方法:
long length() 获取文件内容的长度
String getAbsolutePath() 获取文件或文件夹的绝对路径
String getPath 获取当前相对路径
String getName 获取文件或文件夹的名称
String getParentFile 获取指定文件的父目录,如果没有返回null
boolean exists 判断文件或文件夹是否存在
boolean isDirectory 判断是否是文件夹
boolean isFile 判断是否是文件
这些方法比较简单,直接用对象名.方法名然后接收参数就行了,就不在演示了。
文件删除方法:
boolean delete 删除指定文件或文件夹
注意:如果文件夹不为空删除不掉。
文件的遍历查找方法:
String[] list() 把当前目录下的文件或文件夹转换成String数组
File[] listFiles() 把当前目录下的文件或文件夹转换成File数组
演示:
public class Demo {
public static void main(String[] args) {
File file8 = new File("G:\\io");
System.out.println("==============list=============");
//list获取该文件夹下所有的文件或文件夹,(返回String数组)
String[] list = file8.list();
for (String s : list){
System.out.println(s);
}
System.out.println("==============listFiles=============");
//listFiles获取该文件夹下所有的文件或文件夹,(返回File对象数组)
File[] files = file8.listFiles();
for (File f : files){
System.out.println(f);
}
}
}
结果:
==============list=============
1.jpg
a.txt
b.txt
oo
==============listFiles=============
G:\io\1.jpg
G:\io\a.txt
G:\io\b.txt
G:\io\oo