Java中File文件相关知识

File类概述

  • File类在包java.io.File下,代表操作系统的文件对象(文件/文件夹)
  • File类提供了诸如 : 定位文件 获取文件本身的信息 删除文件 创建文件 (文件夹)等功能

File类创建对象

  • 绝对路径 : 从盘符开始
File files = new File("D:\\resources\\a.txt");
  • 相对路径 : 不带盘符 默认直接到当前工程下的目录寻找文件
File files = new File("模块名\\a.txt");
方法名称 说明
public File(String pathname) 根据文件路径创建文件对象
public File(String parent,String child) 从父路径名字字符串和子路径名字字符串创建文件对象
public File(File parent,String child) 根据父路径对应文件对象和子路径名字符串创建文件对象
//绝对路径 :  带有盘符 后面跟的是文件的具体位置File f = new File("C:/Users/Administrator/Pictures/Camera Roll/desk.jpg");  //采用 /File f = new File("C:\\Users\\Administrator\\Pictures\\Camera Roll\\desk.jpg");  // 采用\\System.out.println(f.length());  //获取文件的大小 单位是 字节
//相对路径 : 不带盘符 直接在对应工程下找文件 File f1 = new File("File-io-app/src/a.txt");System.out.println(f1.length());   // 获取文件的大小 字节大小
     //File创建对象,可以是文件也可以是文件夹File f = new File("D:\resources");System.out.println(f3.exists());   //判断这个文件夹是否存在

File类常用API

判断文件类型 获取文件信息

File类的判断文件类型 获取文件信息功能

方法名称 说明
public boolean isDirectory() 测试此路径名表示的File是否为文件夹
public boolean isFile() 测试此路径名表示的File是否为文件
public boolean exists() 测试此路径名表示的File是否存在
public String getAbsolutePath() 返回此路径名的绝对路径字符串
public String getPath() 将此路径名转换为路径名字字符串
public String getName() 返回此路径名表示的文件或文件夹的名称
public long lastModified() 返回文件最后修改的时间毫秒值
     //创建文件File f = new File("G:/AAA/aaa.txt");System.out.println(f.length());//a.获取文件的绝对路径String absolutePath = f.getAbsolutePath();System.out.println(absolutePath);//b.获取文件定义的时候使用的路径File f1 = new File("File-io-app/src/aaa.txt");System.out.println(f1.length());String path = f1.getPath();String absolutePath1 = f1.getAbsolutePath();System.out.println(absolutePath1);System.out.println(path);//c.获取文件的名称,带后缀String name = f1.getName();System.out.println(name);//d.获取文件的大小,字节数System.out.println(f1.length());//e.获取文件的最后修改时间long l = f1.lastModified();String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(l);System.out.println(format);//f.判断文件是文件还是文件夹System.out.println(f1.isFile());   //trueSystem.out.println(f1.isDirectory());   //falseFile f2 = new File("D:");System.out.println(f2.isDirectory());   // true

创建文件 删除文件功能

File类创建文件的功能

方法名称 说明
public boolean createNewFile() 创建一个新的空的文件
public boolean mkdir() 只能创建一级文件
public boolean mkdirs() 可以创建多级文件夹
//1.创建一个空的新的文件 createNewFile 几乎不用File f = new File("File-io-app/src/aaa1.txt");System.out.println(f.createNewFile());//2.mkdir创建一级目录File f1 = new File("D:/Code/aaa2");System.out.println(f1.mkdir());  //因为已经存在了 所以不能创建//3.创建多级目录File f2 = new File("D:/Code/aaa/bbb/ccc/ddd");System.out.println(f2.mkdirs());

File类删除文件的功能

方法名称 说明
public boolean delete() 删除由此路径名表示的文件或空文件夹
  • delete方法直接删除不走回收站
  • delete方法默认只能删除空文件夹
//4.删除文件或者空文件夹//System.out.println(f1.delete());File f3 = new File("File-io-app/src/aaa.txt");System.out.println(f3.delete());File f4 = new File("File-io-app/src/aaa1.txt");System.out.println(f4.delete());//5.只能删除空文件夹 不能删除非空文件夹File f5 =new File("D:/Code/aaa");System.out.println(f5.delete());

遍历文件夹

File类的遍历功能

方法名称 说明
public String[] list() 获取当前目录下的所有的"一级文件名称"到一个字符串数组中去并返回
public File[] listFiles() 获取当前目录下的所有的"一级文件对象"到一个文件对象数组中去返回
         //list() 获取文件名称File file = new File("D:/Code");String[] list = file.list();for (String s : list) {System.out.println(s);}System.out.println("=========分割线==========");//获取文件对象到数组中File[] files = file.listFiles();for (File file1 : files) {System.out.println(file1.getAbsoluteFile());}

listFiles方法注意事项

  • 当调用者不存在时,返回null
  • 当调用者是一个文件时,返回null
  • 当调用者是一个空文件夹是,返回一个长度为0的数组
  • 当调用者是一个有内容的文件夹时,将里面所有文件和和文件夹的路径放在File数组中返回
  • 当调用者是一个有隐藏文件的文件夹时,将里面所有文件的文件夹的路径放在File数组中返回,包含隐藏内容

文件搜索案例

需求:
现给定一个文件目录,同时给一个文件名称,请编写程序判断该文件是否在该文件目录下.若找到了,打印出该文件的绝对路劲若没有找到,则返回提示信息示例:
给定电脑中的一个E盘,请在E盘中找出 "KwMusic.exe" 文件结果:
找到了该文件,该文件绝对路径是:  E:\kuwo\kuwomusic\9.1.1.6_W1\KwMusic.exe
没有找到,提示 文件错误,操作失败
public static void searchFile(File dir, String fileName) {//判断dir是否为空if (dir != null && dir.isDirectory()) {//文件对象数组接收输入的文件夹File[] files = dir.listFiles();if (files != null && files.length > 0) {//遍历文件对象中的文件for (File file1 : files) {if (file1.isFile()) {if (file1.getName().contains(fileName)) {System.out.println("找到该文件 ,文件位于: " + file1.getAbsolutePath());}} else {searchFile(file1, fileName);}}}} else {System.out.println("文件错误 操作失败");}}

Java中文件File相关知识相关推荐

  1. java中的字符串相关知识整理

    字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...

  2. Java中文件File

    File:文件和目录路径名的抽象表示(java.io.file) File file = new File("D://");//File(String pathname) 通过将给 ...

  3. file相对路径java_浅谈java 中文件的读取File、以及相对路径的问题

    一.对于java项目中文件的读取 1.使用system 或是 系统的properties对象 ①直接是使用 string relativelypath=system.getproperty(" ...

  4. java直接调用复制文件,java中文件复制的4种方式,java文件的复制

    java中文件复制的4种方式,java文件的复制 今天一个同事问我文件复制的问题,他一个100M的文件复制的指定目录下竟然成了1G多,吓我一跳,后来看了他的代码发现是自己通过字节流复制的,定义的字节数 ...

  5. java中文件的操作讲解

    1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.txt文件的绝对路径.http://ww ...

  6. java中文件处理之图片_在Java 7中处理文件

    java中文件处理之图片 以下是The Well-Grounded Java Developer的草稿的修改后的片段. 它使您快速了解与以前版本相比,在Java 7中操作文件要容易得多. 通过使用新的 ...

  7. java中文件处理之图片_Java中的文件处理

    java中文件处理之图片 File Handing in java comes under IO operations. Java IO package java.io classes are spe ...

  8. Java中的线程基础知识

    Java中的线程基础知识 1.线程概念 线程是程序运行的基本执行单元.当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个 ...

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

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

  10. 10、java中文件的抽象表示

    java中使用File类来作为文件和目录路径名的抽象表示,是对于文件或者目录本身的属性来说的,而不是针对于文件的内容. 一些关于File类基本操作的代码如下: public class FileTes ...

最新文章

  1. 视频码率、视频编码的原理
  2. VC 在CStatic控件上绘图
  3. php敏感字符串过滤_PHP代码审计入门:常见的危险函数和审计点
  4. 每天学点linux之-rmdir,cp,mv
  5. java技术自我_2020年Java程序员如何进行自我提升?
  6. qt窗口关闭退出程序_Qt5 窗口关闭信号的响应~
  7. python中soup_python – 使用带有UTF-8的soup.get_text()
  8. C#多线程编程系列(五)- 浅析C# Dictionary实现原理
  9. then 微信小程序_微信小程序 引入es6 promise
  10. dva.js 知识导图
  11. mysql 为什么不能安装_下载的mysql怎么无法安装
  12. Revip MEP二次开发之“连接弯头”
  13. group by 和count 联合使用问题
  14. linux网关管理,利用Linux打造安全的管理型网关
  15. 毕业设计必备案例:Python开发桌面程序——各种版本学生信息管理系统
  16. 有量子计算机的山西高能小说,高能小说推荐-好看的高能类小说-高能小说排行榜-七零文学...
  17. java缓存框架zookepper_Zookeeper分布式开源框架
  18. 矩阵求和c语言通俗易懂
  19. php 数字 字母组合,PHP生成数字字母组合或纯数字的唯一订单号
  20. 面向对象语法1—基础

热门文章

  1. 《大话数据结构(C实现)》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+软件架构设计+框架编程+数据结构+链表+栈+队列+二叉树+冒泡排序+KMP模式+立钻哥哥+==)
  2. 蒲公英超级签名原理(手动做超级签名)
  3. 奋斗在制造业----CAE行业感想
  4. 如何在Google Play 当中使用ASO?google play aso
  5. 为什么便利店晚上顾客很少?还要24小时营业?
  6. nc系统显示不能连接到服务器,用友U8 用友登录时提示不能连接到服务器。
  7. ISBN书号查询图书数据
  8. 勾股定理算斜边用计算机怎么按,三角形斜边(直角三角形斜边计算器)
  9. 笔记本电脑键盘个别键失灵的修复方法
  10. 线性代数----逆矩阵的性质和求法