JAVA—File类常用方法
java把电脑中的文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作
File的静态成员变量:
pathSeparator属性和pathSeparatorChar属性 :路径分隔符 windows:逗号; Linnx:冒号:
String ps = File.pathSeparator;
System.out.println(ps); //路径分隔符 windows:逗号; Linnx:冒号:
char pathSeparatorChar = File.pathSeparatorChar;
System.out.println(pathSeparatorChar);
separator属性和separatorChar属性://文件名称分隔符 windows:反斜杠\ Linnx:正斜杠/
String separator = File.separator;
System.out.println(separator); //文件名称分隔符 windows:反斜杠\ Linnx:正斜杠/
char separatorChar = File.separatorChar;
System.out.println(separatorChar);
File的构造方法:
1.File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
/*参数:字符串的路径名称,可以以文件结尾,也可以以文件夹结尾,可以是相对路径也可以是绝对路径路径可以是存在的,也可以是不存在的创建File对象,只是把字符串封装为File对象,不考虑路径的真假情况*/
File f1 = new File("D:\\IdeaProjects\\javaSE");
System.out.println(f1);
2.File(String parent, String child):根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
好处:父路径和子路径都可以单独书写,使用起来非常灵活,父路径和子路径都可以变化
File file = new File("c:\\", "a.txt");
System.out.println(file); //输出c:\a.txt
3.File(File parent, String child):根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
好处:父路径和子路径都可以单独书写,使用起来非常灵活,父路径和子路径都可以变化
父路径是File类型的,可以使用File的方法对路径进行一些操作,再使用路径创建对象
File parent = new File("c:\\");
File file2 = new File(parent,"Hello.java");
System.out.println(file2); //输出c:\Hello.java
File的常用方法:
与获取相关的方法:
1.getAbsolutePath():返回绝对路径,无论构造器传入的是绝对路径还是相对路径,返回的都是绝对路径
File f1 = new File("D:\\IdeaProjects\\javaSE");
//返回绝对路径,无论构造器传入的是绝对路径还是相对路径,返回的都是绝对路径
String absolutePath = f1.getAbsolutePath();
System.out.println(absolutePath); //输出 D:\IdeaProjects\javaSE
2.getPath():获取构造器传入的路径
File f2 = new File("D:\\IdeaProjects\\javaSE");
File f3 = new File("a.txt");
String path1 = f2.getPath();
String path2 = f3.getPath();
System.out.println(path1); //输出 D:\IdeaProjects\javaSE
System.out.println(path2); //输出 a.txt
3.getName():获取构造器中传递的路径的结尾部分
File f4 = new File("D:\\IdeaProjects\\javaSE");
String name = f4.getName();
System.out.println(name); //输出 javaSE
4.length():获取文件(是文件,不是文件夹)的大小,单位是字节;如果构造器路径正确返回文件大小,如果路径错误,返回0
File f5 =new File("D:\\photo\\b.jpg");
long length = f5.length();
System.out.println(length); //输出以字节为单位的文件大小 444670
与判断有关的方法:
1.exists():判断构造器传入的文件是否存在
File f1 = new File("D:\\photo");
//判断构造器传入的文件是否存在
System.out.println(f1.exists());
2.isDirectory():判断是否是文件夹
System.out.println(f1.isDirectory());
3.判断是否为文件
System.out.println(f1.isFile());
与创建和删除有关的方法:
1.createNewFile(): 只能创建文件,不能创建文件夹,创建的文件路径必须正确(相对路径和绝对路径都可以),否则报异常,没有这个文件就创建,有就不会创建
File file = new File("D:\\IdeaProjects\\javaSE\\IO流\\a.txt");
file.createNewFile();
2.mkdir():创建单级文件夹,创建的文件夹路径不正确(相对路径和绝对路径都可以)会返回false 没有这个文件夹就创建,有就不会创建
File f1 = new File("D:\\IdeaProjects\\javaSE\\IO流\\新建文件夹");
f1.mkdir();
3.mkdirs(): 创建多级文件夹,创建的文件夹路径不正确(相对路径和绝对路径都可以)会返回false,没有这个文件夹就创建,有就不会创建
File f2 = new File("D:\\IdeaProjects\\javaSE\\IO流\\文件夹1\\文件夹2");
f2.mkdirs();
4.delete():删除构造方法中的文件或者文件夹,不走回收站,直接从硬盘删除
File f1 = new File("D:\\IdeaProjects\\javaSE\\IO流\\新建文件夹");
f1.delete();
File文件的遍历
list():返回一个String数组,遍历构造方法中给出的目录,如果路径不存在或者不正确,会报空指针异常,返回的是相对路径
File file = new File("D:\\视频课\\黑马57期\\01.se基础班\\08 File类与IO流\\第1节 File类");
String[] list = file.list();
System.out.println(Arrays.toString(list));
listFiles() :返回File类型的数组,返回的是绝对路径
File[] files = file.listFiles();
System.out.println(Arrays.toString(files));