Java文件处理(一):创建文件、遍历文件夹、删除文件/文件夹

这篇具有很好参考价值的文章主要介绍了Java文件处理(一):创建文件、遍历文件夹、删除文件/文件夹。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本篇以代码为核心,在实践中自学吧年轻人~

File对象

要进行文件处理肯定需要File类啦。
File的实例是一个实例(?),但是可以链接到本地的文件、文件夹,并对它们进行操作。

从下面的一些示例中可以看到,同一份本地文件可以拥有多个File对象;同时,构造一个File对象时传入的文件不存在,代码并不会出错。

创建一个File对象需要传入文件路径:

File f1=new File("C:\\Windows\\notepad.exe");//绝对路径
File f2=new File("./data/order/qwq.txt");//相对路径
//文件路径是String类:
String fileName="./data/order/"+merchant.getCard()+".txt";
File f3=new File(fileName);

相对路径中.表示当前目录,..表示上级目录。

一些方法

  • 判断文件/目录是否存在:boolean exists()

判断文件是否相同

File对象有3种形式表示的路径,一种是getPath(),返回构造方法传入的路径,一种是getAbsolutePath(),返回绝对路径,一种是getCanonicalPath,它和绝对路径类似,但是返回的是规范路径。

规范路径可用于判断两个文件对象指向的文件是否相同

File file1=new File(fileName1);
File file2=new File(fileName2);
if(file1.getCanonicalPath().equals(file2.getCanonicalPath())){
	System.out.println("The same path");
}

可以看出,同一份本地文件是可以拥有多个File对象的。

在本地创建文件:

  • file.creatNewFile()

以下是完整代码:

String fileName="./data/qwq.txt";//需要创建的文件路径
File file=new File(fileName);
File fileP=file.getParentFile();//获取当前文件所在的目录
if(!fileP.exists()){//判断是否在本地存在(目录和文件通用)
    fileP.mkdirs();
    //创建当前File对象表示的目录,并在必要时将不存在的父目录也创建出来;
}
if(!file.exists()){
    file.createNewFile();//在本地磁盘创建新文件
}

遍历文件夹:

使用list()listFiles()
listFile()可以过滤不想要的文件和文件夹。

 File f = new File("C:\\Windows");
File[] fs1 = f.listFiles(); // 列出所有文件和子目录
 // 仅列出.exe文件
File[] fs2 = f.listFiles(new FilenameFilter() {
	public boolean accept(File dir, String name) {
        return name.endsWith(".exe"); // 返回true表示接受该文件
            }
        });

删除文件:

public static void delete(String path) {
        // 为传进来的路径参数创建一个文件对象
        File file = new File(path);
        // 如果目标路径是一个文件,那么直接调用delete方法删除即可
        // file.delete();
        // 如果是一个目录,那么必须把该目录下的所有文件和子目录全部删除,才能删除该目标目录,这里要用到递归函数
        // 创建一个files数组,用来存放目标目录下所有的文件和目录的file对象
        File[] files;
        // 将目标目录下所有的file对象存入files数组中
        files = file.listFiles();
        // 循环遍历files数组
        if (files != null) {
            for(File temp : files){
                // 判断该temp对象是否为文件对象
                if (temp.isFile()) {
                    temp.delete();
                }
                // 判断该temp对象是否为目录对象
                if (temp.isDirectory()) {
                    // 将该temp目录的路径给delete方法(自己),达到递归的目的
                    delete(temp.getAbsolutePath());
                    // 确保该temp目录下已被清空后,删除该temp目录
                    temp.delete();
                }
            }
        }
        file.delete();
    }

⚠️删除文件前务必关闭文件的输入输出流等等,否则会导致删除失败⚠️文章来源地址https://www.toymoban.com/news/detail-750019.html

到了这里,关于Java文件处理(一):创建文件、遍历文件夹、删除文件/文件夹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包