首页 > 编程语言 >Java文件处理(一):创建文件、遍历文件夹、删除文件/文件夹

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

时间:2023-11-13 18:34:13浏览次数:40  
标签:文件 Java File temp 文件夹 file new delete

本篇以代码为核心,在实践中自学吧年轻人~
非常好迭代作业,爱来自BUAA

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();
    }

⚠️删除文件前务必关闭文件的输入输出流等等,否则会导致删除失败⚠️

输入输出见下篇。
博主去赶作业了(骂骂咧咧)

标签:文件,Java,File,temp,文件夹,file,new,delete
From: https://www.cnblogs.com/qiuerOTO/p/17829809.html

相关文章

  • js实现分割上传大文件
    本文实例介绍了js上传文件操作,分享给大家供大家参考,具体内容如下<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"lang="zh-CN">&l......
  • uniapp(安卓)之文件上传
    uniapp(安卓)之文件上传uniapp提供的uni.chooseFile只支持H5和微信小程序,所以想上传除图片/视频外的非媒体文件,需要使用原生的方式开发。 uploadtxdr(){//使用plus选择文件 letthat=this; letfilePath='' letmain=plus.android.runtimeMainAct......
  • Python | 将本地文件上传到远程服务器
    在Python中,可以使用paramiko库来通过SSH进行文件的传输。首先,你需要安装paramiko库,可以使用以下命令进行安装:pipinstallparamiko然后,你可以使用以下Python脚本进行文件传输:此脚本使用SFTP协议进行文件传输。在SFTP的上下文中,你可以使用put方法将本地文件上传到远程服务器。......
  • java里junit 单元测试、注释(入门)
    什么是Junit单元测试?JUnit单元测试是指使用JUnit框架编写的针对代码中小的、独立的模块(通常是方法或者类)的测试。在JUnit中,您可以使用断言来验证代码的行为是否符合预期,以及使用注解来标记测试方法、测试套件等。执行单元测试可以帮助验证代码是否满足特定的业务需求和技术......
  • java中一些空判断|ObjectUtils
    为什么用ObjectUtils?在java中判断对象是否为null,常常不止判断对象是否为null,如果对象是集合,数组,字符串等等特殊类型,还需要检查是否为空(元素个数为0或者长度为0)ObjectUtils.isEmpty可以简化下面这些问题(当然,你使用的是spring)对象为null。对象是数组,且长度为0。对象是集合(Coll......
  • java基础学习:强制类型转换
    1.2.   代码:packagecom.itheima.type;publicclassType3{publicstaticvoidmain(String[]args){//掌握强制类型转换inta=20;//byteb=a;报错,直接将类型范围大的变量转换为类型范围小的byteb=(byte)a;//alt+e......
  • 如何查虚拟机中的文件在哪个路径(eg:ChromeDriver)
     要查找虚拟机中ChromeDriver的路径,您可以使用which命令或find命令。以下是两种方法:使用which命令。在终端中输入以下命令:whichchromedriver如果ChromeDriver已经在系统的PATH环境变量中,该命令将返回ChromeDriver的完整路径。否则,将返回空值。使用find命令。在终端中......
  • 中国银行模拟器app,用java设计框架,图片网上找的,提供代码,仅供娱乐
    回执单生成器的Java程序需要涉及到一些基本的Java编程技能,包括创建类、处理用户输入和格式化输出。下面是一个简单的示例代码,用于生成一个简易的回执单。这个程序将接收用户的输入,然后生成一个格式化的回执单。请注意,这个示例是基础的,并没有实现完整的错误处理或复杂的用户界面。......
  • 苹果Ios系统app应用程序开发者如何获取IPA文件?签名证书时需要注意什么?
    大家好呀,我是咕噜签名分发可爱多。在 iOS应用程序开发中,签名过程是非常重要的一环。签名保证了应用的真实性和完整性,它也是让应用能在设备上运行的前置条件。苹果使用一系列证书和配置文件来管理这一过程。获取IPA文件签名证书是发布应用程序至AppStore的重要步骤之一。签名证书......
  • 秦疆的Java课程笔记:27 基础 基本运算符
    Java语言支持的运算符:算数运算符:基础四则运算:+加法,-减法,*乘法,/除法%取余,或称“模运算”++自增,--自减赋值运算符:=关系运算符:>大于,<小于,>=大于等于,<=小于等于==等于,!=不等于instanceof对象运算符,用来判断一个对象是否属于某个指定的类或其子类的实例,如果是,返回true,否则......