java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。
- public class FileDemo {
- public static void main(String[] args) throws IOException {
- File file = new File("E:\\IDEA\\Projects");
- //创建一个File对象指向E:\\IDEA\\Projects文件夹或者直接指向文件
- String parent = "E:\\IDEA\\Projects";
- String child = "aa.java";
- File file1 = new File(parent,child);
- //将parent和child连接在一起,形成一个新的路径
- File file2 = new File(parent)
- }
- }
即File对象+点+createNewFile();就能创建一个文件
即File对象+点+delete();就能删除一个文件
即File对象+点+mkdir();就能创建了一个终极目录
- import java.io.File;
- import java.io.IOException;
-
- public class FileDemo {
- public static void main(String[] args) throws IOException {
- File file = new File("E:\\IDEA\\Projects");
- //创建一个File对象指向E:\\IDEA\\Projects文件夹或者直接指向文件
- String parent = "E:\\IDEA\\Projects";
- String child = "aa.java";
- File file1 = new File(parent,child);
- //将parent和child连接在一起,形成一个新的路径,可以指向没有的文件
- File file2 = new File(parent);
-
- File file3 = new File("src");
- //返回文件的绝对路径
- System.out.println(file.getAbsoluteFile());
- System.out.println(file1.getAbsoluteFile());
- System.out.println(file3.getAbsoluteFile());
-
- //构造路径
- System.out.println(file.getPath());
- System.out.println(file3.getPath());
-
- //返回文件名
- System.out.println(file1.getName());
-
- //返回文件的长度
- System.out.println(file1.length());
- System.out.println(file.length());
-
- //查看文件或目录是否存在
- System.out.println(file1.getName()+"是否存在"+file1.exists());
- System.out.println(file2.getName()+"是否存在"+file2.exists());
- System.out.println(file3.getName()+"是否存在"+file3.exists());
-
- //查看是否是文件
- System.out.println(file1.getAbsoluteFile()+"是文件吗?"+file1.isFile());
- System.out.println(file2.getAbsoluteFile()+"是文件吗?"+file2.isFile());
- //查看是否是目录
- System.out.println(file2.getAbsoluteFile()+"是目录吗?"+file2.isDirectory());
-
- //先判断文件是否存在
- System.out.println(file1.getAbsoluteFile()+"是文件吗"+file1.isFile());
- //创建文件
- file1.createNewFile();//此处需要抛一个异常
- //再判断一下文件是否创建
- System.out.println(file1.getAbsoluteFile()+"是文件吗"+file1.isFile());
- //删除文件
- file1.delete();
- //判断文件是否删除
- System.out.println(file1.getAbsoluteFile()+"是文件吗"+file1.isFile());
-
- System.out.println(file2.getAbsoluteFile()+"是否存在:"+file2.exists());
- //创建了一个单级目录
- file2.mkdir();
- // System.out.println(file2.getAbsoluteFile()+"是否存在:"+file2.exists());
- file2.mkdirs();
- //mkdir加s是创建多级目录,即创建了目录下还有目录
- file2.delete();
- //删除时只能删除当前的路径和当前的文件所以就会把最底层的文件删除
-
- File[] files = file2.listFiles();//指向每一个文件,可以访问目录下的文件,可以显示文件名,文件的路径等
- //String[] strings = file2.list();//用来查看文件名或目录下的文件名
- for (File s:files){
- System.out.println(s.getName()+",绝对路径是:"+s.length());//用于打印文件的信息
- }
- //多级目录打印,用递归实现,当遇到目录继续调用函数,只有碰到文件时才开始打印
- printDir(file2);
-
-
- }
- public static void printDir(File f){
- File[] files = f.listFiles();//把f里面的listFiles信息,给files文件数组
- /*
- * 打印,如果是文件的话,直接打印
- * 如果是目录,还需要调用printDir()方法
- * */
- for(File file:files){
- if(file.isFile())//判断是否是文件
- //打印文件名和绝对路径
- System.out.println("文件名是:"+file.getName()+",绝对路径是:"+file.getAbsolutePath());
- else{//不是文件就需要调用,调用前就调用目录名
- System.out.println("目录名是"+file.getName());
- printDir(file);
- }
- }
- }
- }