当前位置: 首页 > news >正文

File文件

路径:

  • 相对路径:以 当前工作目录(或指定的基准目录)为起点,描述目标文件或目录的位置,不包含根目录信息,仅表示与基准目录的相对位置关系。
  • 绝对路径:从文件系统的 根目录 开始(如 Windows 的盘符或 Linux 的 /),完整描述文件或目录位置的路径,包含从根目录到目标的 完整层级结构。C:.......;D:......

File:

  • File对象就表示一个路径,可以是文件的路径,也可以是文件夹的路径
  • 这个路径可以是存在的,也可以是不存在的
  • 方法名称说明
    public File(String pathname)根据文件路径创建文件对象
    public File(String parent, String child)根据父路径名字符串和子路径名字符串创建文件对象
    public File(File parent, String child)根据父路径对应文件对象和子路径名字符串创建文件对象

下面把这三种对象的创建过程展示一下:

package www.FileClass.com;import java.io.File;public class FileDemo1 {public static void main(String[] args) {//public File(String pathname)	根据文件路径创建文件对象
//public File(String parent, String child)	根据父路径名字符串和子路径名字符串创建文件对象
//public File(File parent, String child)	根据父路径对应文件对象和子路径名字符串创建文件对象//1.根据字符串所表示的路径,变成File对象(第一个构造)String str="F:\\Test\\w.txt ";//把字符串放进FIle就代表文件的路径File file=new File(str);System.out.println(file);//2.父级路径:F:\Test(第二个构造)//子级路径:w.txtString str1="F:\\Test";String str2="w.txt";File file1=new File(str1,str2);System.out.println(file1);//3.把一个File表示的路径和String表示路径进行拼接File file2=new File("F:\\Test");String str3="w.txt";File file3=new File(file2,str3);System.out.println(file3);}
}

 File表示什么?

  • File对象表示路径,可以是文件,也可以是文件夹,这个路径可以是存在的,也可以是不存在的

绝对路径和相对路径的意思?

绝对路径带盘符,相对路几个不带盘符

File的常见成员方法:

判断获取:

方法名称说明
public boolean isDirectory()判断此路径名表示的 File 是否为文件夹
public boolean isFile()判断此路径名表示的 File 是否为文件
public boolean exists()判断此路径名表示的 File 是否存在
public long length()返回文件的大小(字节数量)
public String getAbsolutePath()返回文件的绝对路径
public String getPath()返回定义文件时使用的路径
public String getName()返回文件的名称,带后缀
public long lastModified()返回文件的最后修改时间(时间毫秒值)

前三个方法示例 

package www.FileClass.com;import java.io.File;public class FileDemo2 {public static void main(String[] args) {
//        public boolean isDirectory()	判断此路径名表示的 File 是否为文件夹
//        public boolean isFile()	判断此路径名表示的 File 是否为文件
//        public boolean exists()	判断此路径名表示的 File 是否存在//对文件的路径进行判断//我已经在这个路径创建了txt文件File file = new File("E:\\zjhapp\\aaa.txt");System.out.println(file.isDirectory());//是否是文件夹falseSystem.out.println(file.isFile());//是否是文件trueSystem.out.println(file.exists());//是否存在true//对文件夹的路径进行判断File file1 = new File("E:\\zjhapp");System.out.println(file1.isDirectory());//是否是文件夹trueSystem.out.println(file1.isFile());//是否是文件falseSystem.out.println(file1.exists());//是否存在true//对不存在的路径进行判断File file2 = new File("E:\\www");System.out.println(file2.isDirectory());//是否是文件夹falseSystem.out.println(file2.isFile());//是否是文件falseSystem.out.println(file2.exists());//是否存在false}
}

 后四个方法示例

package www.FileClass.com;import java.io.File;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;public class FileDemo3 {public static void main(String[] args) {
//        public long length()	返回文件的大小(字节数量)
//        public String getAbsolutePath()	返回文件的绝对路径
//        public String getPath()	返回定义文件时使用的路径
//        public String getName()	返回文件的名称,带后缀
//        public long lastModified()	返回文件的最后修改时间(时间毫秒值)//1.length  返回文件的大小(字节数量)//只能获取文件的大小,单位是字节//无法获取文件夹的大小File file = new File("E:\\zjhapp\\aaa.txt");long len=file.length();System.out.println(len);System.out.println("======================");
//        2.getAbsolutePath()	返回文件的绝对路径File file1 = new File("E:\\zjhapp\\aaa.txt");String absolutePath = file1.getAbsolutePath();System.out.println(absolutePath);//3.public String getPath()	返回定义文件时使用的路径File file2 = new File("E:\\zjhapp\\aaa.txt");String path = file2.getPath();//定义文件的事实和System.out.println(absolutePath);//        4.getname() 获取名字如果文件有拓展名就会把拓展名也提取出来File file3=new File("E:\\zjhapp\\aaa.txt");String name=file3.getName();System.out.println(name);//            5.public long lastModified()	返回文件的最后修改时间(时间毫秒值)File file4=new File("E:\\zjhapp\\aaa.txt");long time=file4.lastModified();DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");String date = LocalDateTime.now().format(formatter);System.out.println(date);}
}

创建删除

 

方法名称说明
public boolean createNewFile()创建一个新的空的文件
public boolean mkdir()创建单级文件夹
public boolean mkdirs()创建多级文件夹
public boolean delete()删除文件、空文件夹

 前三个创建方法

package www.FileClass.com;import java.io.File;
import java.io.IOException;public class FileDemo4 {public static void main(String[] args) throws IOException {
//        public boolean createNewFile()	创建一个新的空的文件
//        public boolean mkdir()	创建单级文件夹
//        public boolean mkdirs()	创建多级文件夹
//        public boolean delete()	删除文件、空文件夹//delete默认只能删除文件和文件夹,detele方法直接删除不走回收站//        1.createNewFile()	创建一个新的空的文件
//        文件不存在则创建成功,存在就创建失败
//        如果父路径不存在,那么就会有异常IOException
//        createNewFile()方法创建的肯定是文件,如果文件中不带后缀名,则创建一个不带后缀名的文件File file = new File("E:\\zjhapp\\www.txt");boolean b=file.createNewFile();System.out.println(b);//        mkdir()	创建"单级文件夹"
//        文件名不能重复File file1 = new File("E:\\zjhapp\\aaa");boolean c=file1.mkdir();System.out.println(c);
//      mkdirs()	创建多级文件夹
//        既可以创造单极的也可以创造多级的File file2 = new File("E:\\zjhapp\\qq\\ww");boolean d=file2.mkdirs();System.out.println(d);}
}

删除方法 

 

package www.FileClass.com;import java.io.File;public class FileDemo5 {public static void main(String[] args) {/*pubic  boolean delete() 删除文件空文件夹如果删除的是文件,则直接删除,不走回收站如果删除的是空文件夹,直接删除不走回收站删除有内容的文件夹,直接删除失败*///创建File对象File file = new File("E:\\zjhapp\\aaa.txt");//删除:boolean b = file.delete();System.out.println(b);}
}

获取并遍历 

方法名称说明
public static File[] listRoots()列出可用的文件系统根
public String[] list()获取当前该路径下所有内容
public String[] list(FilenameFilter filter)利用文件名过滤器获取当前该路径下所有内容
public File[] listFiles()获取当前该路径下所有内容
public File[] listFiles(FileFilter filter)利用文件名过滤器获取当前该路径下所有内容
public File[] listFiles(FilenameFilter filter)利用文件名过滤器获取当前该路径下所有内容

第一第二第三方法

package www.FileClass.com;import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;public class FileDemo7 {public static void main(String[] args) {
//        public static File[] listRoots()	列出可用的文件系统根
//        public String[] list()	获取当前该路径下所有内容
//        public String[] list(FilenameFilter filter)	利用文件名过滤器获取当前该路径下所有内容
//        public File[] listFiles()	获取当前该路径下所有内容
//        public File[] listFiles(FileFilter filter)	利用文件名过滤器获取当前该路径下所有内容
//        public File[] listFiles(FilenameFilter filter)	利用文件名过滤器获取当前该路径下所有内容//1.listRoots 获取系统中所有的盘符,listRoots是静态方法File[] arr = File.listRoots();System.out.println(Arrays.toString(arr));//2.list()  获取当前该路径下所有内容(仅能获取名字)File f1 = new File("E:\\zjhapp");String[] arr2 = f1.list();for (String s : arr2) {System.out.println(s);}System.out.println("================");//3.list(FilenameFilter filter) 利用文件名过滤器获取当前该路径下所有内容//需求:我现在要获取D:\\aaa文件夹里面所有的txt文件File f2 = new File("E:\\zjhapp");String[] list = f2.list(new FilenameFilter() {//      accept方法形参,依次表示zjhapp文件夹里面的每一个文件或者文件夹路径
//      参数一:父级路径
//      参数二:子级路径
//      返回值:如果返回值为true,就表示当前路径被保留
//            反之,当前路径不会被保留@Overridepublic boolean accept(File dir, String name) {File f = new File(dir, name);return f.isFile() && f.getName().endsWith(".txt");}});System.out.println(Arrays.toString(list));}
}

 第四个方法:

package www.FileClass.com;import java.io.File;public class FileDemo6 {public static void main(String[] args) {
//        public File[] listFiles()	获取当前该路径下所有内容//1.创建File对象//当调用者 File 表示的路径不存在时,返回 null//当调用者 File 表示的路径是文件时,返回 null//当调用者 File 表示的路径是一个空文件夹时,返回一个长度为 0 的数组//当调用者 File 表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在 File 数组中返回//当调用者 File 表示的路径是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在 File 数组中返回,包含隐藏文件//当调用者 File 表示的路径是需要权限才能访问的文件夹时,返回nullFile file = new File("E:\\zjhapp");//2.获取zjhapp文件夹中的所有内容,把所有内容放到数组当中返回File[] files = file.listFiles();for (File file1 : files) {//file1:依次表示zjhapp文件夹中的每一个文件或者文件夹System.out.println(file1);}}
}
package www.FileClass.com;import java.io.File;public class FIleDemo8 {public static void main(String[] args) {
//       掌握: File[] listFiles()	获取当前该路径下所有内容
//        public File[] listFiles(FileFilter filter)	利用文件名过滤器获取当前该路径下所有内容
//        public File[] listFiles(FilenameFilter filter)	利用文件名过滤器获取当前该路径下所有内容File file = new File("E:\\zjhapp");File[] files = file.listFiles();for (File file1 : files) {if(file1.isFile()&&file1.getName().endsWith(".txt"))System.out.println(file1);}}
}

第五六个方法

package www.FileClass.com;import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.util.Arrays;public class FileDemo9 {public static void main(String[] args) {//        public File[] listFiles(FileFilter filter)	利用文件名过滤器获取当前该路径下所有内容
//        public File[] listFiles(FilenameFilter filter)	利用文件名过滤器获取当前该路径下所有内容File file = new File("E:\\zjhapp");
//        调用listFiles(FileFilter filter)File[] files = file.listFiles(new FileFilter() {@Overridepublic boolean accept(File pathname) {return pathname.isFile()&&pathname.getName().endsWith(".txt");}});System.out.println(Arrays.toString(files));//        调用listFiles(FilenameFilter filter)file.listFiles(new FilenameFilter() {@Override//第一个是父级路径,第二个是子级路径public boolean accept(File dir, String name) {File f = new File(dir, name);return f.isFile()&&f.getName().endsWith(".txt");}});System.out.println(Arrays.toString(files));}
}

http://www.xdnf.cn/news/569593.html

相关文章:

  • 大模型下载到本地
  • 深入解析Dify:从架构到应用的全面探索
  • Unity中SRP Batcher使用整理
  • plt.rcParams[“font.family“] = [“SimHei“, “WenQuanYi Micro Hei“, “Heiti TC“]
  • vue3:十三、分类管理-表格--模糊查询搜索框
  • 程序设计基础----排序(2)
  • Temporary failure in name resolution
  • C++ 01.vscode配置c++开发环境
  • 5.21本日总结
  • 两足行走机器人:仿生设计与智能控制的技术革命
  • Zabbix开源监控的全面详解!
  • 论文阅读:Auto-Encoding Variational Bayes
  • 信奥赛-刷题笔记-栈篇-T3-P1901发射站0521
  • 在 Windows 系统部署对冲基金分析工具 ai-hedge-fund 的笔记
  • 科普: 天然气蓝牙卡充值流程
  • CST软件基础四:电场和电导的设置
  • Unity基础学习(五)Mono中的重要内容(1)延时函数
  • Model 是 Agent 的大脑(以camel为例)
  • 补充Depends 和 request: Request 依赖注入用法的注意事项
  • 【C++ Primer 学习札记】智能指针
  • 构建 PyMNN
  • Halcon窗口的基本操作
  • Elasticsearch生产环境性能调优指南
  • Spring Boot + +小程序, 快速开发零工市场小程序
  • 如何使用 Docker Compose 部署 Immich
  • 《棒球百科知识》世界棒球十强国家是如何发展·棒球1号位
  • WordPress Madara插件存在文件包含漏洞(CVE-2025-4524)
  • 实验分享|基于千眼狼sCMOS科学相机的流式细胞仪细胞核成像实验
  • XCOSnTh-fatfsShell
  • 腾讯位置服务地点搜索开发指南