File文件类
概念:表示JAVA中的一个文件或者文件夹(有后缀是文件。如.txt;.avi)
File类以抽象的方式代表一个文件。主要用来对文件和文件夹的创建,文件的查找和删除进行操作。
File类的常量
1.static String pathSeparator
2.static String separator
构造方法
1.File(String pathname) 根据文件名创建一个File对象。
2.File(String parent, String child) 在父级目录下创建一个文件或文件夹。
3.File(File parent, String child) 在父级目录下创建一个文件或文件夹。
//表示相对路径(当前项目)下在内存中创建一个文件夹对象A
//注意:(如果硬盘中对应路径下有该A文件夹,则就指代该A文件夹)
File dir = new File("D:/A");//没有后缀表示文件夹,用dir表示
//相对路径下,父级目录A,当前文件对象 b.txt。
File file2 = new File("D:/A/b.txt");//有后缀,代表一个txt文件
//相对路径下,父级目录File对象是dir,当前文件对象 c.txt
File file3 = new File(dir,"c.txt");//有后缀,代表一个txt文件
//在内存中创建一个文件夹对象,当前文件夹对象是指最后一级c
File dir2 = new File("D:/a/b/c");//file指代c文件夹
普通方法(常用)
1.当只是创建了文件对象时,可以调用方法在具体的路径下面创建文件或者文件夹。
- boolean mkdir() 在硬盘创建一个文件夹对象。
- boolean createNewFile() 在硬盘创建一个文件对象。
File dir = new File("D:/A");
//在电脑的硬盘对应路径下面创建文件夹 A
boolean mkdir2 = dir.mkdir();//创建成功返回true
//相对路径下,父级目录A,当前文件对象 b.txt
File file2 = new File("D:/A/C.txt");
//在电脑的硬盘对应路径下面创建文件 C.txt
boolean createNewFile3 = file2.createNewFile();//创建成功返回true
- boolean mkdirs() 在硬盘创建多层级的文件夹对象。
- boolean delete()删除文件或者文件夹(文件可以直接删除,如果是文件夹,该文件夹必须是空文件夹,才能删除成功)
//在内存中创建一个文件夹对象,当前文件夹对象是指最后一级c
File dir2 = new File("D:/a/b/c");//file指代c文件夹。
//在硬盘创建多层级的文件夹对象。
boolean mkdirs = dir2.mkdirs();
1.boolean exists() 判段文件或目录是否在硬盘上存在.
2.boolean isDirectory() 判断当前对象是不是文件夹.
3.long length() 获取文件的字节数,文件夹不能直接获取字节数.
4.String getName() 获取文件(或者文件夹)名(不包含上级目录).
5.String getParent() 获取父路径String格式,相对路径不能获取父级目录(没有层级结构的).
6.File getParentFile() 获取父类路径的File对象.
7.static File[] listRoots() 获取当前系统的所有盘符或者根目录.
8.boolean renameTo(File dest) 重命名当前文件或文件夹对象 .
9.Path toPath() 将当前文件或文件夹对象转换为Path类型,JavaWeb中做文件上传的时候用到
//1. boolean exists()判段文件或目录是否在硬盘上存在。
boolean exists = file.exists();//可以用来对文件的操作前非空判断
System.out.println("文件夹A" + exists);
//2. boolean isDirectory() 判断当前对象是不是文件夹.
System.out.println(file.isDirectory());
//3. long length() 获取文件的字节数,文件夹不能直接获取字节数
long length = file3.length();//计算一个文件夹的大小先判断是不是文件夹。
System.out.println("t.txt" + length);
//4. String getName() 获取文件(或者文件夹)名(不包含上级目录).
String name = file3.getName();
//5. String getParent() 获取父路径String格式,相对路径不能获取父级目录(没有层级结构的).
String parent = file3.getParent();
//6. File getParentFile() 获取父类路径的File对象.
File parentFile = file3.getParentFile();
//7. static File[] listRoots() 获取当前系统的所有盘符或者根目录.
System.out.println(Arrays.toString(File.listRoots()));//[C:\, D:\]
//8. boolean renameTo(File dest) 重命名当前文件或文件夹对象 .
boolean renameTo = file2.renameTo(file3);
//9. Path toPath() 将当前文件或文件夹对象转换为Path类型,JavaWeb中做文件上传的时候用到
Path path = file4.toPath();
//10. String getAbsolutePath() 获取文件夹或者文件绝对路径名字符串。
File absoluteFile = file3.getAbsoluteFile();