Java开发——27.File类

简介: File类操作文件,或者目录。能实现对目录或者文件的增删改查...

File类操作文件,或者目录。

能实现对目录或者文件的增删改查...


绝对路径和相对路径:

相对路径:就是相对于当前的项目;

image.png

绝对路径:就是指定盘符...D:\test\test01.txt...


路径分隔符和系统的关系:

不同的操作系统使用不同的分隔符,Window和DOS系统默认使用"\"作为分隔符;UNIX和URL使用"/"作为分隔符;

但是Java作为跨平台语言,也是可以支持不同操作系统的分隔符的;

注意:在File中提供了一个常量可以根据不同的操作系统显示不同的分隔符;


//与系统相关的默认名称 - 分隔符字符staticStringseparator//为静态变量 可以直接通过类名调用 File.separator//这里使用了File类的构造方法File(Stringpathname) 
Filefile=newFile("Day16_File"+File.separator+"folder");
Filefile1=newFile("E:\\data");
System.out.println(file);
System.out.println(file1);

image.png


File类中的构造器:


File(Stringpathname) 
//通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。  File(Fileparent, Stringchild) 
//从父抽象路径名和子路径名字符串创建新的 File实例。  File(Stringparent, Stringchild) 
//从父路径名字符串和子路径名字符串创建新的 File实例。  //目前只是创建了一个File对象,并没有对file进行具体的操作。Filefile1=newFile("E:\\data");
System.out.println(file1);//E:\dataFilefile2=newFile(file1,"\\test.txt");
System.out.println(file2);//E:\data\test.txtFilefile3=newFile("E:\\data","test02.txt");
System.out.println(file3);//E:\data\test02.txt


File类中的常用方法:

因为现阶段的File类仅能操作文件/文件夹的创建/删除...并不能对文件内容进行删除/修改的操作,所以仅做了解就行;注意创建文件/文件夹的适口可以先调用exites()方法判断文件/文件夹是否存在。

后期接触到的I/O流一般使用 File类定义文件的读取路径/写入路径,作为参数传入到I/O流的构造器中。

image.png


注意问题:


File类中的renameTo(Filedest)方法在操作的时候需要注意问是否存在的问题/*boolean renameTo(File dest)重命名由此抽象路径名表示的文件。操作的前提:FileA.renameTo(FileB),必须确保FileA存在但是FileB不存在一旦返回true表示操作成功则FileA中的文件不存在,FileA中的文件内容会拷贝到FileB中。*/Filefile=newFile("Day16_File\\folder\\test.txt");
Filefile2=newFile("E:\\aaa\\data.txt");
System.out.println(file.renameTo(file2));


直达递归 小红在成长,公众号:小红的成长日记Java开发——27.递归

使用递归遍历文件目录:


/*遍历指定目录下的所有文件(使用递归)当判断文件的时候可使用String类中的endsWith()可判断后缀名String类中的indexOf()可判断文件中是否有.*/publicstaticvoiddiGuiFile(Filefile){
File[] list=file.listFiles();
for (Filefile1 : list){
if (file1.isDirectory()){
diGuiFile(file1);
            }
System.out.println(file1.getAbsoluteFile());
        }
System.out.println(file.getAbsoluteFile());
    }


相关文章
|
6天前
|
Java
【Java】Math、System、RunTime、BigDecimal类常用方法
【Java】Math、System、RunTime、BigDecimal类常用方法
|
4天前
|
人工智能 自然语言处理 Java
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
文章介绍了Spring AI,这是Spring团队开发的新组件,旨在为Java开发者提供易于集成的人工智能API,包括机器学习、自然语言处理和图像识别等功能,并通过实际代码示例展示了如何快速集成和使用这些AI技术。
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
|
4天前
|
安全 Java API
16 个最常用的 Java 实用程序类
【8月更文挑战第16天】
13 1
16 个最常用的 Java 实用程序类
|
1天前
|
SQL Java Apache
实时计算 Flink版操作报错合集之使用parquet时,怎么解决报错:无法访问到java.uti.Arrays$ArrayList类的私有字段
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
4天前
|
Oracle 安全 Java
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
|
5天前
|
Java
java中实现File文件的重命名(renameTo)、将文件移动到其他目录下、文件的复制(copy)、目录和文件的组合(更加灵活方便)
这篇文章介绍了Java中使用`renameTo()`、`Files.copy()`等方法对文件进行重命名、移动和复制的操作,并提供了代码实例和测试效果。
java中实现File文件的重命名(renameTo)、将文件移动到其他目录下、文件的复制(copy)、目录和文件的组合(更加灵活方便)
|
5天前
|
设计模式 人工智能 Java
Java 如何使用单例类
Java 如何使用单例类
5 1
|
6天前
|
SQL 存储 Java
完整java开发中JDBC连接数据库代码和步骤
该博客文章详细介绍了使用JDBC连接数据库的完整步骤,包括加载JDBC驱动、提供连接URL、创建数据库连接、执行SQL语句、处理结果以及关闭JDBC对象的过程,并提供了相应的示例代码。
|
6天前
|
前端开发 Java 编译器
【前端学java】java中的Object类和前端中的Object有什么区别(9)
【8月更文挑战第10天】java中的Object类和前端中的Object有什么区别
14 0
【前端学java】java中的Object类和前端中的Object有什么区别(9)
|
5天前
|
SQL 存储 Java
完整java开发中JDBC连接数据库代码和步骤
该博客文章详细介绍了使用JDBC连接数据库的完整步骤,包括加载JDBC驱动、提供连接URL、创建数据库连接、执行SQL语句、处理结果以及关闭JDBC对象的过程,并提供了相应的示例代码。