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基础19-一文搞懂Java集合类框架,以及常见面试题(二)
Java基础19-一文搞懂Java集合类框架,以及常见面试题(二)
24 8
|
1天前
|
安全 Java 开发工具
Java基础19-一文搞懂Java集合类框架,以及常见面试题(一)
Java基础19-一文搞懂Java集合类框架,以及常见面试题(一)
18 6
|
1天前
|
安全 Java 编译器
Java基础14-深入理解Java枚举类(二)
Java基础14-深入理解Java枚举类(二)
9 4
|
1天前
|
Java 编译器
Java基础14-深入理解Java枚举类(一)
Java基础14-深入理解Java枚举类(一)
12 0
|
1天前
|
前端开发 JavaScript Java
Java基础10-深入理解Class类和Object类(二)
Java基础10-深入理解Class类和Object类(二)
13 5
|
1天前
|
Java C++
Java基础10-深入理解Class类和Object类(一)
Java基础10-深入理解Class类和Object类(一)
12 4
|
1天前
|
Java
java中强大的时间处理工具:Calendar类(日历类)
`Calendar`类是Java中用来处理日期和时间的类,提供了许多属性来获取日期和时间的不同部分,如年、月、日、小时等。`Calendar`的常用属性包括`YEAR`(年)、`MONTH`(月)、`DATE`/`DAY_OF_MONTH`(日)、`DAY_OF_YEAR`(一年中的第几天)、`DAY_OF_WEEK_IN_MONTH`(一月中第几个星期)、`DAY_OF_WEEK`/`WEEK_OF_MONTH`(星期)等。
4 0
|
1天前
|
存储 Java 索引
Java中的13个原子操作类
Java中的13个原子操作类
5 0
|
1天前
|
传感器 小程序 搜索推荐
(源码)java开发的一套(智慧校园系统源码、电子班牌、原生小程序开发)多端展示:web端、saas端、家长端、教师端
通过电子班牌设备和智慧校园数据平台的统一管理,在电子班牌上,班牌展示、学生上课刷卡考勤、考勤状况汇总展示,课表展示,考场管理,请假管理,成绩查询,考试优秀标兵展示、校园通知展示,班级文化各片展示等多种化展示。
18 0
(源码)java开发的一套(智慧校园系统源码、电子班牌、原生小程序开发)多端展示:web端、saas端、家长端、教师端
|
1天前
|
JavaScript Java 测试技术
《手把手教你》系列技巧篇(七十一)-java+ selenium自动化测试-自定义类解决元素同步问题(详解教程)
【6月更文挑战第12天】本文介绍了如何创建一个自定义类库来解决自动化测试中的元素同步问题。作者指出,大部分错误源于元素因时间不同步而引发,为此提供了一种解决方案。在项目实践中,首先在`library`包下创建名为`MyWait`的类,包含一个方法`isElementPresent`,该方法通过循环尝试并等待指定元素出现,避免了直接使用时间等待可能导致的不准确性。之后,在测试类中调用此自定义方法,成功实现了元素同步。代码示例展示了如何在Java+Selenium自动化测试中应用这个自定义类。
26 2