文章目录

  • 1.**FILE类的介绍**
  • 2.**File类,是平台无关性的类**
  • 3.**File类创建,删除文件的操作**
    • File类的创建文件
    • File类的创建目录
    • File类的删除文件以及删除目录
  • 4.**FILE类判断文件是否存在**
  • 5.**FILE类获取文件的名字**
  • 6.**FILE类获取文件的绝对路径**
  • 7.**FILE类获取一个文件夹下的所有文件**
  • 8.**FILE类打印一个文件夹下的所有特定文件**
  • 9.**FILE类打印一个文件夹下的所有文件(包括子文件夹)**
1.FILE类的介绍
  • java.io.File类

    • 计算机存储路径,目录,文件
    • File类将计算机中的路径,目录,文件做成一个对象
    • 提供很多的方法,操作路径,文件和方法
  • 计算机操作系统
    • 目录就是文件夹(DIrectory),不能存储数据,是文件的容器
    • 文件(File),可以存储数据
    • 路径(path),一个文件或者目录,在计算机中的存储位置
    • java中的路径‘/’和‘\’没有区别
2.File类,是平台无关性的类

三种方法创建File类的对象

  • File(pathname);

​ 不管文件的路径地址对不对,在计算机中是否存在,都可以创建一个文件对象。

  • File(parent,child);

​ 要求,子类的文件地址必须要在父类的地址下面

  • File(file,pathname);

​ 这里和上面的方法,不一样,因为传入的一个是对象,可以调用一些其他的方法。

3.File类创建,删除文件的操作
File类的创建文件
public static void CreateFileText() throws IOException {File file =  new File("e:/a.txt");boolean b = file.createNewFile();System.out.println(b);
}

要点:创建的路径可以存在,也可以不存在

实例:如果创建的文件路径已经存在,那么返回false,不存在,则返回true

File类的创建目录
public static void CreateDir(){File file = new File("e:/a/b/c/d");boolean b=  file.mkdirs();System.out.println(b);
}

要点:(1)创建的路径可以存在,也可以不存在(2)一定方法要是mkdirs();最后的s千万不能少,不然就不能创建多级目录了。

实例:如果创建的文件路径已经存在,那么返回false,不存在,则返回true

优点:创建多级目录的情况下,效率会很高。

File类的删除文件以及删除目录
public static void deletefile(){// File file = new File("e:/a/b/c/d");File file =  new File("e:/a.txt");boolean b=  file.delete();System.out.println(b);}

特性:删除文件有风险,一旦删除,就永远不存在。因为删除是不走回收站的,相当于在删除文件时执行的时shift+delete键来完全删除文件。所以删除有风险,执行需谨慎。

一般的删除文件(回收站中会保留删除的文件)

4.FILE类判断文件是否存在
public static void isExitfile(){File file = new File("E:\\JAVASE");boolean b = file.exists();System.out.println(b);
}

要点:判断文件是否存在,其中大小写字母可以互相变化,即上述的“E:\JAVASE”也可以写成“E:\javase“返回的值跟之前的是一样的

实例:如果存在就放回true,不存在就返回false

5.FILE类获取文件的名字
public static void testGetName(){File file = new File("E:\\JAVASE");String name  = file.getName();System.out.println(name);
}

要点:返回的是最后一个路径的值

实例:上述的例子,得到name的值为”JAVASE"

6.FILE类获取文件的绝对路径
public static void testGetAbsoluteFile(){File file = new File("bin");File absoluteFile = file.getAbsoluteFile();System.out.println(absoluteFile);
}

要点:返回的是一个文件的绝对路径。不存在则在该文件夹下创建一个。如果对应的路径存在,就返回该绝对路径

实例:上述因为是在javaSE目录下创建的,故而输出的是“E:\javaSE\bin”

7.FILE类获取一个文件夹下的所有文件
public static void findListfile(){File file =  new File("c:");File[] fileArray = file.listFiles();System.out.println(fileArray.length);for(File file1 : fileArray){    //范围for打印输出System.out.println(file1);}
}

要点:listFiles()函数返回的是一个File类型的数组;运用范围for打印数组中的每一个元素

实例:上述打印的是我c盘下的所有文件夹的名字(c盘的根目录下不能创建单独文件)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bz2lEHDN-1665814543502)(C:\Users\李小宝\AppData\Roaming\Typora\typora-user-images\image-20221015140702332.png)]

8.FILE类打印一个文件夹下的所有特定文件
public static void testListFilesFilter(){File file =  new File("c:/a");File[] fileArray = file.listFiles(new MyFileFilter());System.out.println(fileArray.length);for(File file1 : fileArray){    //范围for打印输出System.out.println(file1);}
}

要点:listFiles的方法中可以传入一个对象(本例中是过滤器对象),做出筛选

public class MyFileFilter implements FileFilter {@Overridepublic boolean accept(File filename) {return filename.getName().endsWith(".docx");}
}

要点:实现FileFilter接口中的方法accept(),返回满足筛选条件筛出来的文件

实例:本例中筛选出来的是后缀名为.docx的文件

9.FILE类打印一个文件夹下的所有文件(包括子文件夹)
public static void getDir(File srcDir){System.out.println(srcDir);File[] fileArray = srcDir.listFiles();for(File file1 : fileArray){if(file1.isDirectory()){getDir(file1);}else{System.out.println(file1);//file1.delete();如果这里执行了后果将...}}
}
public static void main(String[] args) {getDir(new File("c:/Program Files"));
}

要点:算法主要的思想是递归,遇到文件夹则需要再进入文件夹下的文件,一直到没有文件的时候才行

注意:不要delete

   if(file1.isDirectory()){getDir(file1);}else{System.out.println(file1);//file1.delete();如果这里执行了后果将...}

上面程序运行的主函数

public class FileDemo(){public static void main(String[] args){//实例getDir(new File(""));}
}

java---File类笔记(简单介绍)相关推荐

  1. java File类笔记

    一.建立文件 windows环境下: File file1 = new File("C:/test/a.txt"); File file2 = new File("C:\ ...

  2. 探究Java File类中list()、listFiles()的使用及区别,认识和使用匿名内部类

    转载自     探究Java File类中list().listFiles()的使用及区别,认识和使用匿名内部类 内容概要: 1.认识File类: 2.File的构造函数: 3.list()及其重载方 ...

  3. Java Scanner类的详细介绍(Java键盘输入)

    Java Scanner类的详细介绍(Java键盘输入) 一.Scanner类的简单使用 二.Scanner类的详细介绍 1.判断输入数据类型 2.next()与nextLine()的区别 3.求多个 ...

  4. java File类 常用相关函数

    java File类 相关函数 1.构建函数 2.判断相关函数 4.创建相关函数 5.删除相关函数 6.获取相关函数 1.构建函数 /*** File 构造方法* file 常用构造方法* 1: Fi ...

  5. Java File类总结和FileUtils类

    Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...

  6. Android中PackageManager类的简单介绍

    1.PackageManager这个类,表层意思是包管理者,既然可以管理包,那么包下的一些东西便可以获取,其中可以获取应用图标和应用名称以及包名. 通过下面一行代码实例化PackageManager类 ...

  7. java Math类的常用方法介绍

    java Math类的常用方法介绍 代码块 public class MainTest {public static void main(String[] args) {//求sin值double s ...

  8. java File类

    java File类 今天我要总结一下java File类.这个是一个很重要的类. 首先是我画的思维导图. 还写了一些自己写的代码. /*** Date : 2017/6/24* Author : H ...

  9. java reader_Java之字符输入流,Reader类的简单介绍

    各位小伙伴们大家好,在之前的文章中,小编介绍了Java之文件复制的简单介绍,多是一些关于字节的知识,这次小编要介绍的是字符输入流Reader类,具体如下: java.io.Reader:字符输入流,是 ...

  10. java file类详解_Java File类详解及IO介绍及使用

    我是一个CPU:这个世界慢!死!了!,可以感受到CPU,内存和硬盘之间的速度比较. 文件的本质 OS(操作系统)的目的就是可以让上层程序可以通过一种统一的方式去拿到无论什么磁盘里的文件(即一段字节流) ...

最新文章

  1. awk 和sed的用法介绍
  2. nodejs安装jsdom模块出现MSB4025错误
  3. 常用电脑密码破解技巧
  4. EF架构~在global.asax里写了一个异常跳转,不错!
  5. J2ME_System.getProperty
  6. c++ primer第四版上的内容质疑
  7. POJ 1325 Machine Schedule[二分图匹配*最小点覆盖]
  8. 互联网架构设计漫谈 (1)-概述
  9. Exception in thread “main“ java.lang.UnsupportedOperationException Arrays.asList中add报错
  10. 解决 No module named ‘tensorflow.examples.tutorials‘
  11. Ubuntu16.04安装PyQt5教程(百度网盘)
  12. 常用的linux巡检命令,linux常用巡检命令
  13. 备考OCJP认证知识点总结(四)
  14. matlab最大值滤波降噪,matlab图像最大值和最小值滤波
  15. linux认证ppt的图片,linux用户、组和身份认证-课件(PPT-精).ppt
  16. Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane),TextArea右键菜单 组件使用案例
  17. 万网免费空间php,免费虚拟主机空间
  18. 王峰 阜阳师范学院计算机,《阜阳师范学院学报》投稿_学报投稿网
  19. 【太虚AR_v0.1】使用教程 | AR录屏
  20. 【微信小程序】获取用户信息

热门文章

  1. 系统架构演变和远程调用
  2. tp3.2.3 图片打水印
  3. 主分区与逻辑分区的区别
  4. 追风筝的人 第三章
  5. LevOJ P1685飞跃悬崖(着色问题)
  6. 如何用idea比对代码差异
  7. 初试 Kubernetes 暴漏服务类型之 Nginx Ingress
  8. 你创业为什么会失败?
  9. 【洛谷八连测R2】fateice-or
  10. 抗DDOS产品性价比?