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


相关文章
|
26天前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
16天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
35 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
3天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
37 13
|
8天前
|
算法 Java API
如何使用Java开发获得淘宝商品描述API接口?
本文详细介绍如何使用Java开发调用淘宝商品描述API接口,涵盖从注册淘宝开放平台账号、阅读平台规则、创建应用并申请接口权限,到安装开发工具、配置开发环境、获取访问令牌,以及具体的Java代码实现和注意事项。通过遵循这些步骤,开发者可以高效地获取商品详情、描述及图片等信息,为项目和业务增添价值。
39 10
|
1天前
|
前端开发 Java 测试技术
java日常开发中如何写出优雅的好维护的代码
代码可读性太差,实际是给团队后续开发中埋坑,优化在平时,没有那个团队会说我专门给你一个月来优化之前的代码,所以在日常开发中就要多注意可读性问题,不要写出几天之后自己都看不懂的代码。
34 2
|
11天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
22天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
42 8
|
23天前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
43 1
|
27天前
|
开发框架 Java 关系型数据库
Java哪个框架适合开发API接口?
在快速发展的软件开发领域,API接口连接了不同的系统和服务。Java作为成熟的编程语言,其生态系统中出现了许多API开发框架。Magic-API因其独特优势和强大功能,成为Java开发者优选的API开发框架。本文将从核心优势、实际应用价值及未来展望等方面,深入探讨Magic-API为何值得选择。
37 2
|
27天前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
60 1