每个File类对象表示一个磁盘文件或文件夹,其对象属性中包含了文件或文件夹的相关信息,如文件名,长度,所含文件个数等等,调用它的方法可以完成对文件或文件夹的管理操作,如创建,删除等

1:创建File类的对象

构造方法 功能说明
public File(String path) 用path参数创建File对象所对应的磁盘文件名或文件夹名及其路径
public File(String path,String name) 以path为路径,以name 为文件或文件夹名创建File对象
public File(File dir,String name) 用一个已经存在代表某磁盘文件夹的File对象dir作为文件夹,以name作为文件或文件夹名来创建File对象

注意:由于操作系统的不同,windows用“\”作为文件夹分割符,linux用“/”作为文件夹分割符。为了使java程序能在不同平台运行,可以使用File类的一个静态变量 File.separator。该属性中保存了当前系统规定的文件夹分隔符。

如:G:\\test.txt;    ----->     "G:"+File.separator+"test.txt";

2:获取文件或文件夹属性

File类常用方法
方法 功能说明
public boolean exists() 判断文件或文件夹是否存在
public boolean isFile() 判断对象是否代表有效文件
public boolean isDirectory() 判断对象是否代表有效文件夹
public String getName() 返回文件或文件夹名
public String getPath() 返回文件或文件夹的路径
public long length() 返回文件的字节数
public boolean canRead() 判断文件是否可读
public boolean canWrite() 判断文件是否可写
public String[] list() 将文件夹中所有文件名保存在字符串数组中返回
public boolean equals() 比较两个文件或文件夹是否相等

3:文件或文件夹的操作

File类中的一些操作方法
方法 功能说明
public Boolean renameTo(File newFile) 将文件重命名成newFile对应的文件名
public boolean delete() 将当期文件删除,若删除成功,则返回true,否则返回false
public boolean mkdir() 创建当期文件夹的子文件夹。若创建成功返回true,否则返回false

顺便说一下:mkdir(), 与mkdirs()的区别:

mkdirs()可以建立多级文件夹, mkdir()只会建立一级的文件夹。如下:

new File("/tmp/one/two/three").mkdirs();     ===》 执行后, 会建立tmp/one/two/three四级目录

new File("/tmp/one/two/three").mkdir();      ===》 则不会建立任何目录, 因为找不到/tmp/one/two目录, 结果返回false

下面用一个例子来反顾知识点:

@Testpublic void testFileDemo(){String str = new String();try{InputStreamReader isr = new InputStreamReader(System.in);BufferedReader inp = new BufferedReader(isr);String sdir = "d:\\cgj";String sfile;File fdir = new File(sdir);if(fdir.exists() && fdir.isDirectory()){System.out.println("文件夹:"+sdir+"已经存在");for (int i = 0; i < fdir.list().length; i++) {System.out.println((fdir.list())[i]);}File fdir2 = new File("d:\\cgj\\temp");if(!fdir2.exists()){fdir2.mkdir();  // 这步有意思,(它是没有,就创建)}System.out.println();System.out.println("创建新文件夹后的文件列表");for(int i = 0; i<fdir.list().length;i++){System.out.println((fdir.list())[i]);}System.out.println("请输入该文件夹中的一个文件名:");sfile = inp.readLine();  // 意思是从键盘输入数据File ffile = new File(fdir,sfile);  // 第三种File对象的创建方式if(ffile.isFile()){System.out.println("文件名:"+ffile.getName());System.out.println("文件所在路径:"+ffile.getPath());System.out.println("文件大小:"+ffile.length()+"字节");}if(inp != null)inp.close();}}catch(IOException e){e.printStackTrace();}}

Java语言的File类总结相关推荐

  1. Java中的File类和IO流

    Java中的File类和IO流 File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. File的分隔符 import java.io.Fi ...

  2. 四十一、深入Java中的 File类

    @Author:Runsen @Date:2020/6/6 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

  3. java类描述_java笔记2:Java语言中的类和对象的描述

    在Java 语言中,除8 个基本数据类型值之外, 一切都是对象,而对象就是面向对象程序设计的中心. 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还 ...

  4. jdbc是java语言编写的类和接口_JDBC——Java语言连接数据库的标准

    JDBC概述 API JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...

  5. Java快速入门学习笔记7 | Java语言中的类与对象

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  6. 【java笔记】File类(2):获取,判断,创建,删除,遍历目录方法

    [java笔记]File类(1)概述,静态成员,构造方法_m0_52043808的博客-CSDN博客 获取功能方法: public String getAbsolutePath():返回此File的绝 ...

  7. 【java笔记】File类(1)概述,静态成员,构造方法

    [java笔记]File类(2):常用方法_m0_52043808的博客-CSDN博客 java.io.File类: 文件和目录路径名的抽象表示. ●java把电脑中文件和文件夹(目录)封装为了一个F ...

  8. java对象与类ppt,JAVA语言对象与类.ppt

    JAVA语言对象与类.ppt 第三章 对象与类,3.1 类与对象 3.2 定义类 3.3 成员变量的作用域 3.4 方法重载 3.5 创建对象 3.6 构造方法 3.7 this关键字 3.8 初始化 ...

  9. Java基础:File类与IO流

    1. File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 1.2 构造方法 public File(String path ...

最新文章

  1. python安装os模块_python的os模块(ipython,文件,目录,权限,管理)
  2. 并发模型之——基本概念
  3. 编程设计思路怎么写_赣州脐橙朋友圈文案怎么写?思路适合任何卖产品
  4. 【企业管理】正确评价价值-概述
  5. 计算机视觉与深度学习 | ORB特征匹配:基于OpenCV+Python(暴力匹配、FLANN)
  6. 怎么改字段名称_精装房这么改!换门框,封阳台,效果出来比毛坯房还好
  7. C++ string和c类型字符数组的比较
  8. 无论你是用什么样的模式去拓展市场
  9. 090518-C++primer 4th学习笔记:1.3节
  10. 多个值合并成一个字段oracle排序,Oracle之多行记录变一行记录,行变列,并排序(wmsys.wm_concat)...
  11. 如何用iMazing软件将手机备忘录导入至电脑
  12. java接口 抽象类_关于JAVA接口和抽象类
  13. 【流体力学】加和不加湍流模型在NS方程上的体现
  14. 桌面图标整理工具(Fences Pro)
  15. RFID工作原理(图)及标签分类(按供电方式)
  16. MATLAB图像处理实验——细胞图像的分割和计数
  17. Linux沙箱技术介绍
  18. 用 JavaScript 实现一个 TicTacToe 游戏 —— 编程训练
  19. tibcorv入门实例
  20. python绘制3d动态模型_python+matplotlib库绘制数学3d模型分析图

热门文章

  1. Topic 5. SCI 文章之样本量确定及分割
  2. 双二阶IIR滤波器——直接I型、直接II型C语言实现
  3. 软考软件设计师下午真题-面向对象的程序设计与实现-生成器设计模式(2018年上半年试题六))Java代码讲解
  4. C# WinForm解决Panel控件中的图片刷新时会闪烁的问题
  5. Nuitka打包教程
  6. 如何由两点坐标确定一条直线的ax+by+c=0表达式
  7. 数据库+算法+职业操守
  8. 双重差分 difference-in-differences
  9. Yii框架中集成phprpc、hprose
  10. C++链表的排序实现