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

}

运行结果

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

}

运行结果

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

method2()

method3()

method4()

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

method2()

method3()

method4()

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

method2()

method(3)

练习

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

}

}

}

}

运行结果

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

}

}

代码运行结果

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

java file_java开发之File类详细使用方法介绍相关推荐

  1. android qt 串口通信,Qt串口通信开发之QSerialPort模块详细使用方法与实例

    Qt串口通信开发之QSerialPort模块详细使用方法与实例 发布时间:2020-10-23 12:19:05 来源:脚本之家 阅读:111 作者:沧海一笑-dj Qt串口通信基础及名词说明 串口通 ...

  2. java 并发开发之AQS

    java 并发开发之AQS AQS 是什么,有什么作用? ① 是什么:AQS 是抽象队列同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖它 ② 有什么作用:为Java的并发 ...

  3. java 查看文件属性_java File类获取文件属性详解

    你知道java File类获取文件属性方法吗?下面的文章要给大家讲解的就是这个方面的内容,希望下面的内容可以对你有所帮助哦. 在Java中获取文件属性信息的第一步是先创建一个File类对象并指向一个已 ...

  4. 手机APP开发之MIT Appinventor详细实战教程(一),利用通过蓝牙控制单片机,以及实现单片机与android设备之间的串口通信

    目录 (一)前期软件准备和硬件准备 ( 二 ) 实现的思路和操作原理 ( 三) 具体的操作方法 MIT Appinventor 是编程领域较为受欢迎且适用的编程软件 ,因其操作流程和使用方法简单,一直 ...

  5. java getfiles_Java基础教程——File类、Paths类、Files类

    File类 File类在java.io包中.io代表input和output,输入和输出. 代表与平台无关的文件和目录. 可以新建.删除.重命名,但不能访问文件内容. File类里的常量: impor ...

  6. JAVA游戏开发之FPS精准控制

    目录 JAVA游戏开发之FPS精准控制... 1 1       概述... 2 1.1        编写目的... 3 2       FPS精准控制... 3 2.1        FPS描述. ...

  7. Java讲课笔记26:File类

    文章目录 零.本讲学习目标 1.熟悉File类的常用方法 2.掌握File类遍历目录文件的使用 3.掌握File类删除文件及目录的使用 一.File类概述 1.File的类继承图 2.File类的结构 ...

  8. Java中Date和Calender类的使用方法

    查看文章     Java中Date和Calender类的使用方法 2009-10-04 20:49 Date和Calendar是Java类库里提供对时间进行处理的类,由于日期在商业逻辑的应用中占据着 ...

  9. android 接口实现方法,Android应用开发之Android 请求网络接口实现方法

    本文将带你了解Android应用开发之Android 请求网络接口实现方法,希望本文对大家学Android有所帮助. public   class Fragment01 extends Fragmen ...

最新文章

  1. 平头哥发布一站式芯片设计平台“无剑”,芯片设计成本降低50%
  2. Java api在线
  3. Java并发编程实战笔记
  4. (19)VHDL实现流水灯
  5. [数据库笔记]规范化(Normalization)-把数据冗余降下来
  6. 特征选择 ReliefF算法
  7. python自动化办公实例-python自动化测试实例解析
  8. 科学网—语音识别技术发展史
  9. 阿里启动“Buy+”计划,正式成立 VR 实验室
  10. 课程思政与c语言程序设计,C语言程序设计课程思政教学改革教学设计.doc
  11. 《概率论基础教程》总结2 随机变量、期望、方差
  12. JAVA JSP javaweb餐厅点餐系统源码(点餐系统)点餐系统网上订餐系统在线订餐系统
  13. Bootstrap优秀模板-INSPINIA.2.9.2
  14. STM32F4最小系统硬件设计
  15. 记一次对网络抖动经典案例的分析
  16. 信阳市的计算机本科学校,郭华平 - 信阳师范学院 - 计算机与信息技术学院
  17. 【魔兽世界插件】魔兽世界插件实战笔记从入门到放弃的心理历程 第六节 窗体对象的锚定
  18. windows xp sp3
  19. 微信黑名单已经删除的人怎么找回来?这些步骤挨个试试!
  20. FL Studio教程之在线面板详解

热门文章

  1. .NET Core实战项目之CMS 第十七章 CMS网站系统的部署
  2. .Net Core 2.1 通用主机(Core 在控制台应用程序中的应用)
  3. COSCon'18 面向全宇宙招募志愿者啦!
  4. Unity/DotNetty中集成Lidgren实现可靠UDP
  5. Oleans集群之Consul再解释
  6. ASP.NET Core 2.0 特性介绍和使用指南
  7. 在.Net项目中使用Redis作为缓存服务
  8. .NET Core系列 :4 测试
  9. powershell 文件/文件夹操作
  10. C# DataTable笔记