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


相关文章
|
1月前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
335 4
|
1月前
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
1月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
86 4
|
1月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
160 5
|
1月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
143 1
|
1月前
|
Java Unix Go
【Java】(8)Stream流、文件File相关操作,IO的含义与运用
Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。!但本节讲述最基本的和流与 I/O 相关的功能。我们将通过一个个例子来学习这些功能。
164 1
|
1月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
203 1
|
1月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
148 1
|
1月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
160 1
|
1月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
262 5
下一篇
oss云网关配置