当前位置: 首页 > 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));}
}

相关文章:

  • Python实现蛋白质结构RMSD计算
  • Hass-Panel - 开源智能家居控制面板
  • JavaEE 初阶文件操作与 IO 详解
  • SLAM文献之-SuperOdometry: Lightweight LiDAR-inertial Odometry and Mapping
  • 【MySQL】联合查询(上)
  • genicamtl_lmi_gocator_objectmodel3d
  • 精益数据分析(74/126):从愿景到落地的精益开发路径——Rally的全流程管理实践
  • Mujoco 学习系列(三)机器人状态IO与仿真操作
  • 基于 Redis 实现短信验证码登录功能的完整方案
  • 网络框架二次封装:基于Kotlin的高扩展性网络请求框架完整实现
  • WPF核心类继承树结构
  • 2025年度消费新潜力白皮书470+份汇总解读|附PDF下载
  • WPF MVVM Community Toolkit. Mvvm 社区框架
  • [Java实战]Spring Boot整合MinIO:分布式文件存储与管理实战(三十)
  • 对抗学习(AL),生成对抗网络(GAN),强化学习,RLHF
  • CMake跨平台编译生成:从理论到实战
  • Vue 3.0中核心的Composition API
  • 工业控制解决方案三段论
  • 大模型微调与高效训练
  • 零基础设计模式——创建型模式 - 抽象工厂模式
  • 建设部网站燃气管理部门/百度投诉中心在线申诉
  • 工会网站平台建设/深圳推广公司哪家好
  • 速成建站/游戏如何在网上推广
  • 南京市规划建设展览馆网站/官网站内推广内容
  • 惠州城市建设建筑网站/长春seo优化
  • wordpress居中/开鲁网站seo转接