JAVA笔记整理(九),JAVA中的File

File类提供对针对目录和文件的读写改等一系列操作方法

创建

public class FileDemo01 {
    public static void main(String[] args) {
        try {
            // 创建文件
            File file = new File("fileName.txt");
            if (file.createNewFile()) {
                System.out.println("创建成功");
            } else {
                System.out.println("创建失败");
            }

            // 创建文件夹
            File dir = new File("dirName");
            if (dir.mkdir()) {
                System.out.println("创建成功");
            } else {
                System.out.println("创建不成功");
            }

            // 创建多层目录
            File dirs = new File("firstDir\\secondDir\\thirdDir");
            if (dirs.mkdirs()) {
                System.out.println("创建成功");
            } else {
                System.out.println("创建不成功");
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

删除

public class FileDemo01 {
    public static void main(String[] args) {
        // 删除文件
        File fileName = new File("D:\\Java_workspace\\HelloFile\\fileName.txt");
        if (fileName.delete()) {
            System.out.println("删除成功");
        } else {
            System.out.println("删除失败");
        }

        // 删除目录,需要该目录为空
        File dir = new File(
                "D:\\Java_workspace\\HelloFile\\firstDir\\secondDir\\thirdDir");
        if (dir.delete()) {
            System.out.println("删除成功");
        } else {
            System.out.println("删除失败");
        }

        // 退出时删除目录
        File dir2 = new File(
                "D:\\Java_workspace\\HelloFile\\firstDir\\secondDir");
        dir2.deleteOnExit();
    }
}

重命名

public class FileDemo01 {
    public static void main(String[] args) throws IOException {
        File oldFile = new File("C:\\name1.txt");
        File newFile = new File("C:\\name2.txt");

        // 判断文件是否存在,如果不存在,则创建,如果存在,则提示
        if (!oldFile.exists()) {
            oldFile.createNewFile();
            System.out.println("创建成功");
        } else {
            System.out.println("文件已经存在");
        }

        // 如果重命名成功,提示成功,否则提示失败
        if (oldFile.renameTo(newFile)) {
            System.out.println("重命名成功");
        } else {
            System.out.println("重命名失败");
        }
    }
}

其实renameTo()方法还可以移动文件夹,但是在windows下会有很多问题,慎用,详情详情点击:http://xiaoych.iteye.com/blog/149328

其他方法

public class FileDemo01 {
    public static void main(String[] args) throws IOException {
        File folder = new File("D:/test/Directory1/Directory11");
        File file = new File("D:/test/Directory1/Directory11/File111.txt");
        // System.out.println(folder.mkdirs());
        // System.out.println(file.createNewFile());

        /**
         * 获取File对象的名称或者路径     返回String
         * 输出结果: 
         * 对象名称:Directory11
         * 对象名称:File111.txt
         * 
         */
        System.out.println("对象名称:" + folder.getName());
        System.out.println("对象名称:" + file.getName());

        /**
         * 获取File对象的绝对路径     返回String
         * 输出结果:
         * 绝对路径:D:\test\Directory1\Directory11
         * 绝对路径:D:\test\Directory1\Directory11\File111.txt
         */
        System.out.println("绝对路径:" + folder.getAbsolutePath());
        System.out.println("绝对路径:" + file.getAbsolutePath());

        /**
         * 获取File对象的路径名称        返回String
         * 输出结果:
         * 路径名称:D:\test\Directory1\Directory11
         * 路径名称:D:\test\Directory1\Directory11\File111.txt
         */
        System.out.println("路径名称:" + folder.getPath());
        System.out.println("路径名称:" + file.getPath());

        /**
         * 获取File对象的父目录    返回String
         * 输出结果:
         * 父目录名:D:\test\Directory1
         * 父目录名:D:\test\Directory1\Directory11
         */
        System.out.println("父目录名:" + folder.getParent());
        System.out.println("父目录名:" + file.getParent());

        /**
         * 查看File对象是否存在    返回boolean
         * 输出结果:
         * true
         */
        System.out.println(folder.exists());

        /**
         * 查看File对象是否可读可写    返回boolean
         * 返回结果:
         * 可读
         * 可写
         */
        if (file.canRead()) {
            System.out.println("可读");
        }
        if (file.canWrite()) {
            System.out.println("可写");
        }

        /**
         * 查看File对象的长度    返回long
         * 输出结果
         * 0kb
         */
        System.out.println(file.length() + "kb");

        /**
         * 返回目录所有子文件和子目录数组    返回File[]
         * 输出结果:
         * Directory1
         * Directory2
         * Directory3
         */
        File newFile = new File("D:/test");
        File[] fileList = newFile.listFiles();
        for (int i = 0; i < fileList.length; i++) {
            System.out.println(fileList[i].getName());
        }
    }
}
Copyright© 2020-2022 li-xyz 冀ICP备2022001112号-1