00:基本框架图
一:基本概述
1、一个File对象,可以代表一个文件,亦或是代表一个文件目录(文件夹);
2、File可以新建、删除、重命名文件和目录,但是File不能访问文件内容本身;
3、Java程序中要表示一个真实存在的文件或目录,就必须有File对象,反之不一定;
二:构造器
1、public File(String pathname):
public File(String pathname){
//pathname可以是相对路径,也可以是绝对路径。
this.pathname = pathname;
}
2、public File(String parent,String child):
public File(String parent,String child){
}
① parent为父路径;
② child为子路径;
3、public File(File parent,String child):
public File(File parent,String child){
}
- 根据一个父File对象
-子文件路径创建File对象
三:常用方法
1、获取目录方法和基本信息
-
public String getName() :获取名称
-
public String getPath() :获取路径
-
public String getAbsolutePath()
:获取绝对路径 -
public File getAbsoluteFile():获取绝对路径表示的文件
-
public String getParent()
:获取上层文件目录路径。若无,返回null -
public long length() :获取文件长度(即:字节数)。不能获取目录的长度。
-
public long lastModified() :获取最后一次的修改时间,毫秒值
-
public class FileInfoMethod { public static void main(String[] args) { File f = new File("E:\\AppProgram\\Snipaste"); System.out.println("文件构造路径:" + f.getPath()); System.out.println("文件名称:" + f.getName()); System.out.println("文件长度:" + f.length() + "字节"); System.out.println("文件最后修改时间:" + LocalDateTime.ofInstant(Instant.ofEpochMilli(f.lastModified()), ZoneId.of("Asia/Shanghai"))); } }
2、列出目录的下一级
-
public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
-
public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
-
package IO.BasicOverview; import org.junit.Test; import java.io.File; /** * ClassName:DirListFiles * Package:IO.BasicOverview * Description: * * @Author shocus * @create 2024/11/9 16:46 * @Version 1.0 */ public class DirListFiles { @Test public void test21(){ File dir = new File("E:\\AppProgram\\Snipaste"); String[] sub = dir.list(); File[] listFiles = dir.listFiles(); for(String s:sub){ System.out.println(s); } for(File b:listFiles){ System.out.println(b); } } }
3、File类的重命名功能
- public boolean renameTo(File dest):把文件重命名为指定的文件路径;
-
4、判断功能的方法
-
public boolean exists()
:此File表示的文件或目录是否实际存在。 -
public boolean isDirectory()
:此File表示的是否为目录。 -
public boolean isFile()
:此File表示的是否为文件。 -
public boolean canRead() :判断是否可读
-
public boolean canWrite() :判断是否可写
-
public boolean isHidden() :判断是否隐藏
public class FileIs { public static void main(String[] args) { File f = new File("E:\\Project\\javaIoTest"); //判断是否存在 System.out.println(f.exists()); //判断是文件还是目录 System.out.println(f.isFile()); System.out.println(f.isDirectory()); } }
5、创建和删除功能
-
public boolean createNewFile()
:创建文件。若文件存在,则不创建,返回false。 -
public boolean mkdir()
:创建文件目录。如果此文件目录存在,就不创建了。如果此文件目录的上层目录不存在,也不创建。 -
public boolean mkdirs()
:创建文件目录。如果上层文件目录不存在,一并创建。 -
public boolean delete()
:删除文件或者文件夹 删除注意事项:① Java中的删除不走回收站。② 要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录。 -
package IO.BasicOverview; import java.io.File; import java.io.IOException; /** * ClassName:FileCreateDelete * Package:IO.BasicOverview * Description: * * @Author shocus * @create 2024/11/9 17:02 * @Version 1.0 */ public class FileCreateDelete { public static void main(String[] args)throws IOException { //文件的创建 File f =new File("aaa.txt"); System.out.println(f.exists()); System.out.println(f.createNewFile()); System.out.println(f.exists()); //目录的创建 File f2 = new File("newDir"); System.out.println(f2.exists()); System.out.println(f2.mkdir()); System.out.println(f2.exists()); //文件的删除 System.out.println(f.delete()); //目录的删除 System.out.println(f2.delete()); } }