File文件类对象

java把所有关于文件或目录的操作都封装到一个类中,而这个类就是File类。

public class File
extends Object
implements Serializable, Comparable<File>

创建File类对象

创建方法

 @Test
    public void test01() throws IOException {//相对路径
        File file=new File("xiaomu.txt");
        file.createNewFile();//添加文件
        File file1=new File("meinv");
        file1.mkdir();//添加单层目录
        File file2=new File("shuaige/zhangsan");
        file2.mkdirs();//创建多层目录
    }
@Test
    public void test02() throws IOException {//绝对路径
        File file=new File("D:\\project\\xiaomu.txt");
        file.createNewFile();//创建文件
        File file1=new File("D:\\project\\meinv");
        file1.mkdir();//添加单层目录
        File file2=new File("D:\\project\\shuaige/zhangsan");
        file2.mkdirs();//创建多层目录
    }

删除

 @Test
    public void test03(){
        File file=new File("xiaomu.txt");
        file.delete();//删除文件
        file.deleteOnExit();//两个删除功能一样
    }

修改文件的名称

  @Test
    public void test04(){
        File file=new File("小木.txt");
       // file.renameTo(new File("小木.txt"));
        file.setReadOnly();//设置只读
        file.setWritable(true);//设置是否可写
    }

查询

    @Test
    public void test05(){
       File file=new File("shuaige");
       //判断是否为目录
       System.out.println("file.isDirectory() = " + file.isDirectory());
       //获取文件名字
        System.out.println("file.getName() = " + file.getName());
        //获取文件父级目录
        System.out.println("file.getParent() = " + file.getParent());
        //获取相对路径
        System.out.println("file.toPath() = " + file.toPath());
        //获取绝对路径
        System.out.println("file.getAbsolutePath() = " + file.getAbsolutePath());
        //获取目录下的子文件名
        System.out.println("Arrays.toString(file.list()) = " + Arrays.toString(file.list()));
        //得到目录下的子文件对象
        File[] files=file.listFiles();
        for (File f:files){
            String absolutePath = f.getAbsolutePath();
            System.out.println("absolutePath = " + absolutePath);
        }
    }

查询指定目录下所有文件的名字

 @Test
    public void test06(){
            listName(new File("D:\\project"));
    }

    public void listName(File file){
        boolean directory = file.isDirectory();//判断是否为目录
        if (directory==false){
            String name = file.getName();
            System.out.println("name = " + name);
        }else { @Test
    public void test06(){
            listName(new File("D:\\project"));
    }

    public void listName(File file){
        boolean directory = file.isDirectory();//判断是否为目录
        if (directory==false){
            String name = file.getName();
            System.out.println("name = " + name);
        }else {
            File[] files = file.listFiles();//得到目录的子文件对象
            for (File f : files) {
                listName(f);
            }
        }
            File[] files = file.listFiles();//得到目录的子文件对象
            for (File f : files) {
                listName(f);
            }
        }
    }

posted on 2024-09-04 18:51  小木不痞  阅读(12)  评论(0编辑  收藏  举报

导航