java file_java开发之File类详细使用方法介绍

File类简介

在 Java 中,File 类是 java.io 包中唯一代表磁盘文件本身的对象。File 类定义了一些与平台无关的方法来操作文件,File类主要用来获取或处理与磁盘文件相关的信息,像文件名、 文件路径、访问权限和修改日期等,还可以浏览子目录层次结构。

File 类表示处理文件和文件系统的相关信息。也就是说,File 类不具有从文件读取信息和向文件写入信息的功能,它仅描述文件本身的属性。

File类的相关方法

1、构造方法

File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。

File(String parent,String child) 根据指定的父路径和文件路径创建一个新File对象实例

File(File parent,String child) 根据指定的父路径对象和文件路径创建一个新的File对象实例

代码实现过程

/*

- File的构造函数

- */

public static void main(String[] args) {

//File(String pathname) 将指定路径名转换成一个File对象

File file = new File("D:\\1.txt");

System.out.println(file);

//File(String parent,String child) 根据指定的父路径和文件路径创建File对象

File file1 = new File("D:\\a","1.txt");

System.out.println(file1);

//File(File parent,String child) 根据指定的父路径对象和文件路径创建File对象

File parent = new File("D:\\a");

File file2 = new File(parent, "1.txt");

System.out.println(file2);

File file3 = new File(new File("D:\\a"),"1.txt");

System.out.println(file3);

}

运行结果

0092a6b2aba3e857087a2c21e6c0aa3d.png

2、File类创建和删除功能

boolean createNewFile();指定路径不存在该文件时创建文件,返回true 否则false

boolean mkdir() 当指定的单击文件夹不存在时创建文件夹并返回true 否则false

boolean mkdirs() 但指定的多级文件夹在某一级文件夹不存在时,创建多级文件夹并返回true 否则false

boolean delete() 删除文件或者删除单级文件夹

删除文件夹,这个文件夹下面不能有其他的文件和文件夹

代码实现过程

public static void main(String[] args) throws IOException {

File file = new File("D:\\a\\1.txt");

File file1 = new File("1.txt");

boolean flag = file1.createNewFile();

System.out.println(flag);

File file2 = new File("b");

boolean flag2 = file2.mkdir();

System.out.println(flag);

File file3 = new File("c\\d\\e");

boolean d = file1.mkdir();

boolean c = file1.mkdirs();

System.out.println(d);

System.out.println(c);

File file4 = new File("c.txt");

System.out.println(file4.mkdir());

File file5 = new File("b");

System.out.println(file2.delete());

}

运行结果

d9f5889ae2d4ffcc1502d78b0a1888e5.png

3、File类的判断功能

boolean exists() 判断指定路径的文件或文件夹是否为空

boolean isAbsolute() 判断当前路径是否是绝对路径

boolean isDirectory() 判断当前的目录是否存在

boolean isFile() 判断当前的目录是否是一个文件

boolean isHidden() 判断当前路径是否是一隐藏文件

代码实现过程

public static void main(String[] args) throws IOException {

// method();

// method2();

// method3();

// method4();

}

//判断文件是否存在

public static void method() throws IOException {

File file = new File("a.txt");

file.createNewFile();

boolean flag = file.exists();

System.out.println(flag);

}

//判断当前路径是否为绝对路径

public static void method2() throws IOException{

File file = new File("D:\\a\\1.txt");

boolean flag = file.isAbsolute();

System.out.println(flag);

}

//判断当前是文件夹还是文件

public static void method3() throws IOException{

File file = new File("1.txt");

File file1 = new File("b");

file1.mkdir();

boolean flag = file.isDirectory();

boolean flag2 = file1.isFile();

System.out.println(flag);

System.out.println(flag2);

}

//判断当前路径是否为隐藏文件

public static void method4() throws IOException{

File file = new File("D:\\a\\1.txt");

System.out.println(file.isHidden());

}

运行结果

method()

8da5233b0f3846f632bf9e9e572f3824.png

method2()

8da5233b0f3846f632bf9e9e572f3824.png

method3()

dcdb4f396fa6ac8e7df785c62be7184a.png

method4()

3e5064b791a4646f68b1bb2e0de6b892.png

4、File类的获取功能和修改名字功能

File getAbsoluteFile() 获取文件的绝对路径,返回File对象

String getAbsolutePath() 获取文件的绝对路径,返回路径的字符串

String getParent() 获取当前路径的父级路径,以字符串形式返回该父级路径

String getName() 获取文件或文件夹的名称

String getPath() 获取File对象中封装的路径

long lastModified() 以毫秒值返回最后修改时间

long length() 返回文件的字节数

boolean renameTo(File dest) 将当前File对象所指向的路径修改为指定File所指向的路径

代码实现过程:

public static void main(String[] args) throws IOException {

// method();

// method2();

// method3();

// method4();

}

public static void method(){

File file = new File("D:\\a\\1.txt");

File file1 = new File("1.txt");

//以File对象返回的形式返回当前File对象所指向的绝对路径

System.out.println(file1.getAbsoluteFile());

//返回File对象所指向的绝对路径

System.out.println(file1.getAbsolutePath());

}

public static void method2() throws IOException {

File file = new File("a.txt");

File file1 = new File("b","c.txt");

System.out.println(file1.createNewFile());

File parent = new File("b");

File file2 = new File(parent,"c.txt");

if (!parent.exists()){

parent.mkdirs();

}

System.out.println(file2.createNewFile());

System.out.println(file2.getParent());

System.out.println(file2.getParentFile());

}

public static void method3() throws IOException{

File file = new File("1.txt");

File file1 = new File("D:\\a\\1.txt");

File file2 = new File("b");

System.out.println(file.getName());

System.out.println(file1.getName());

System.out.println(file2.getName());

System.out.println(file.getPath());

System.out.println(file1.getPath());

System.out.println(file2.getPath());

System.out.println(file.lastModified());

Date date = new Date(1556085068524L);

System.out.println(date.toLocaleString());

System.out.println(file.length());

System.out.println(file2.length());

}

public static void method4() throws IOException{

File file = new File("a.txt");

File file1 = new File("e.txt");

System.out.println(file.renameTo(file1));

}

运行结果

method()

852d157c52ac926d781e6ec0bffd7de1.png

method2()

7121a2ba95f490a66d49ef6dbd46712d.png

method3()

f2ae2c88e1fd2f36dd1c66e0f8a07ae1.png

method4()

7e2e48da51180c0f222fbdb1480c34ac.png

5、File 类的其他获取功能

String[] list(); 以字符串的形式返回当前路径下所有的文件和文件夹的名称

File[] listFile 以File对象的形式返回当前路径下的所有文件和文件夹名称

Static File[] listRoots() 获取计算机中的所有盘符

代码实现过程

public static void main(String[] args) {

//method();

// method2();

//method3();

}

public static void method(){

File file = new File("b");

File file1 = new File("D:\\QQ\\1916247350");

File file2 = new File("e.txt");

String[] files = file1.list();

for (int i=0;i

System.out.println(files[i]);

}

}

public static void method2(){

File file = new File("b");

File file1 = new File("D:\\QQ\\1916247350");

File file2 = new File("e.txt");

File[] files = file1.listFiles();

for (File file3 : files) {

System.out.println(file3.getName());

}

}

public static void method3(){

File[] files = File.listRoots();

for (File file : files) {

System.out.println(file);

}

}

运行结果

method()

96e3d88c0ad68adc79da286781b5832f.png

method2()

1f4f0fda09581f97c58153636d9a3a34.png

method(3)

614964ed949b53d9cc898aa08b635585.png

练习

1、输出指定目录下的所有java文件

public static void main(String[] args) {

File file = new File("D:\\IDEA\\IDEAprogram");

method(file);

}

public static void method(File file){

//判断文件是够是目录文件

if (file.isDirectory()){

File[] files = file.listFiles();

for (File file1 : files) {

//判断是否为文件

if (file1.isFile()){

//判断文件是否是以.java结尾的文件

if (file1.getName().endsWith(".java")){

System.out.println(file1.getName());

}

}else if (file1.isDirectory()){

//回调,遍历file1

method(file1);

}

}

}

}

运行结果

3b8a1e7fadb515c216f37e2df7dbcf44.png

2、删除指定的目录(包括子目录)

public static void main(String[] args) {

File file = new File("D:\\a");

method(file);

}

//删除指定目录下的文件

public static void method(File file){

//删除自己所有的子文件和子目录

//获取子文件和子目录

if (file.isDirectory()){

File[] files = file.listFiles();

for (File file1 : files) {

if (file1.isFile()){

System.out.println(file1.getName());

//干掉它

file1.delete();

}else if (file1.isDirectory()){

//继续查看

method(file1);

}

}

//干掉自己

System.out.println(file.getName());

file.delete();

}

}

代码运行结果

f56eeebc9d370533881dd9ed8686e134.png

本文介绍了java开发过程中File类的详细使用方法,更多关于File类使用方法请查看下面的相关链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Blazor 开发内部后台(二):了解 Blazor 组件

James: 转载技术社区中一位朋友最新的文章,介绍自己为公司的 WebForm 遗留系统使用 Blazor 重写前端 UI 的经历。什么是Blazor组件Blazor 应用是使用 Razor 组件构建的。组件是用户界面 (UI) 的自包含部分,具有用于启用动态行为的处理逻辑。组件可以嵌套…

Eclipse/Myeclipse生成serialVersionUID方法

serialVersionUID作用:   序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。 如果你修改代码重新部署后出现序列化错误,可以考虑给相应的类增加serialVersionUID字段。 一般来说有两种生成方式:  …

Framework 1.0/1.1中NotifyIcon的不足

.NET Framework 1.0/1.1中给我们提供了一个NotifyIcon类,使用这个类我们可以非常方便的实现系统托盘(SystemTray)图标。可是不知道微软是为了兼容性还是为了偷懒,只实现了NOTIFYICONDATA结构的v5.0之前版本,也就是说不支持5.0及以后的balloon…

一文读懂 .NET 中的高性能队列 Channel

介绍System.Threading.Channels 是.NET Core 3.0 后推出的新的集合类型, 具有异步API,高性能,线程安全等特点,它可以用来做消息队列,进行数据的生产和消费, 公开的 Writer 和 Reader api对应消息的生产者和消费者,也让Channel更加…

java字符数组初始化_Java 字符串(一)字符串初始化

一、String类概述1、概述java.lang.String类代表字符串。Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例。String 是引用数据类型,不是基本数据类型。类String 中包括用于检查各个字符串的方法,比如用于比较字符串&…

一晚啪了5只喵,累到在医院打点滴,这中国喵把英国人看傻了 | 今日最佳

世界只有3.14 % 的人关注了青少年数学之旅最近,一只叫xiaopi的中国猫在英国红了!好多媒体都报道了它…“猫咪一夜连XX 5只母喵后,累到挂点滴”《LADbible》,《Mirror》都可以看到它疲惫的小脸蛋…在《每日邮报》,xiaop…

Locations Section of OpenCascade BRep

Locations Section of OpenCascade BRep eryar163.com 摘要Abstract:本文结合OpenCascade的BRep格式描述文档和源程序,对BRep格式进行分析,详细说明BRep的数据组织形式。本文主要通过对BRep文件中的Locations部分的读写代码进行分析&#xff…

孙悟空都服输!波士顿动力最新逆天机器人视频,翻筋斗连拿大顶!

全世界只有3.14 %的人关注了青少年数学之旅刚刚,波士顿动力公司在YouTube发布了两段真正震撼的新视频:双足人形机器人Atlas展示倒立、360度翻跟头、旋转的跑酷Demo:More Parkour Atlas。四足机器人Spot的商业化广告宣传片:Spot La…

C#实例:datagridview单元格合并

这是替C#微信交流群群友做的一个小实例,目的就是在datagridview选择对应行以后,点击button后获取对应行的ip,并执行相应的操作,其实我觉得这样的话button没必要非放置到datagridview里面的!但是为了满足群友的需求&…

NO.106 需求的状态、研发阶段及注意事项。

为什么80%的码农都做不了架构师?>>> 禅道项目管理软件设计的需求有两个字段来跟踪它的变化,一个是需求的状态字段,一个是需求的研发阶段字段,下面来看下这两个字段。 一、需求的状态 需求状态(status)字段&#xff0c…

java实例化泛型_Java让泛型实例化的方法

泛型对象可以实例化吗?不可以,T tnew T()是不可以的,编译器会报错。由于泛型擦除,编译器在编译时无法确定泛型所对应的真实类型解决方法使用反射新建实例Type superclass getClass().getGenericSuperclass();ParameterizedType p…

几种人类设计的永动机,最后一个彻底服了!| 今日最佳

全世界只有3.14 %的人关注了青少年数学之旅众所周知,永动机是违反当前客观科学规律的概念,是永远不能够被制造出来的。下面这些都是人们根据不同原理设计出来的,看一看有什么神奇之处,最后一个是亮点!▲达芬奇设计的永…

剖析WPF依赖属性

这节来讲一下WPF中的依赖属性 (Dependency Property)。【了解属性和字段】我们知道,属性是面向对象语言中用来封装字段的外衣,它像是字段对外界的桥梁,我们可以通过属性来验证数据的合法性或控制对外的访问性等等。每个属性的背后都有其对应的…

你在孩子身上偷的懒,终将会变成最大的遗憾

全世界只有3.14 %的人关注了青少年数学之旅我们来看一个非常有趣的统计:2007年—2016年全国高考状元父母职业统计最优秀的孩子大多数出自教师家庭。很家长说,教师有着和孩子一样的寒暑假,有着教书育人的先天优势,我们普通人工作忙…

开发们 点广告-赚点BT币

2019独角兽企业重金招聘Python工程师标准>>> http://freebitco.in/?r14320 转载于:https://my.oschina.net/wangtao/blog/180765

Asp.net页面的生命周期

介绍Asp.net是微软.Net战略的一个组成部分。它相对以前的Asp有了很大的发展,引入了许多的新机制。本文就Asp.net页面的生命周期向大家做一个初步的介绍,以期能起到指导大家更好、更灵活地操纵Asp.net的作用。当一个获取网页的请求(可能是通过…

太赞了!微软《dotnet中文手册》火了,完整PDF开放下载!

这是微软高级架构师基于最新的.net编写,循序渐进地对.net/C#进行讲解。对于零基础可以作为.net的快速入门教材,对于高级程序员而言,这也是你的进阶之路,今天来了,就是缘份,看到了就送给你!资料介…

你穿衣品味还不如AI,这有一款时尚着装网络模型

全世界只有3.14 %的人关注了青少年数学之旅有一件衣服的时候,怎样的小改动可以提升其整体的时尚性?近日 UT 奥斯汀、康奈尔大学、乔治亚理工和 Facebook AI 研究中心的研究者提出了一种名为 Fashon 的模型,用于给一件衣服进行改进&#xff0…

分割移动微小物体

思路&#xff1a;1. 前后两帧相减&#xff0c;得到差分图像2.在差分图像里求像素最大的点&#xff08;最亮的点&#xff09;这样就得到&#xff0c;移动微小物体#include "check.h"#include <iostream.h>voidmain(){ DWORD t1,t2; IplImage *frame0; …

一个非常实用的Python SSH库

前言 Python的Paramiko库&#xff0c;它是一个用于实现SSHv2协议的客户端和服务器的库。通过使用Paramiko&#xff0c;我们可以在Python程序中轻松地实现远程服务器的管理、文件传输等功能。特别做智能硬件产品的同学要熟悉它&#xff0c;因为它能为你减少很多麻烦&#xff0c…