Java File文件操作

article/2025/9/23 20:52:07

Java提供File类,让我们对文件进行操作,简单整理了一下File类的用法。

这里写图片描述

1.基本概念

File:文件和目录路径名的抽象表示形式,代表文件或者文件夹。

2.构造方法

	    // 根据parent抽象路径名和child路径名字符串创建一个新File实例File(File parent, String child)// 通过将给定路径名字符串转换为抽象路径名来创建一个新File实例File(String pathname)// 根据parent路径名字符串和child路径名字符串创建一个新File实例File(String parent, String child)// 通过将给定的file:URI转换为一个抽象路径名来创建一个新的File实例File(URI uri)

3.常用方法

(1).创建功能

// 创建此抽象路径名指定的目录
boolean mkdir()
// 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录
boolean mkdirs()
// 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件
boolean createNewFile()
// 在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称
static File createTempFile(String prefix, String suffix)
// 在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称
static File createTempFile(String prefix, String suffix, File directory)

        // 构造方法一File file1 = new File("f://file1");// 构造方法二File file2 = new File("f://file1", "file2");// 构造方法三File file3 = new File(file2, "file3.txt");// 创建目录并返回是否创建成功,如果目录存在则返回falseboolean b1 = file1.mkdir();System.out.println(b1);// true// 创建目录boolean b2 = file2.mkdir();System.out.println(b2);// true// 创建文件// 在F盘下创建/file1/file2/file3.txt文件boolean b3 = file3.createNewFile();System.out.println(b3);// true// 创建空文件并指定前缀和后缀// 在F盘下创建/file1/file2/file4.....exe文件File.createTempFile("file4", ".exe", file2);

这里写图片描述

注:三种构造方法效果是等同的,没有本质区别;创建目录mkdir()、mkdirs()方法,mkdirs()方法创建目录时,如果待创建目录的上几级目录不存在则一并创建,mkdir()则只能创建单级目录。

(2).删除功能

// 删除此抽象路径名表示的文件或目录
boolean delete()

       //删除目录System.out.println(file1.delete()); // false//删除文件System.out.println(file3.delete());// true

注:删除操作时,删除的是目录,则必须保证是空目录。

(3).判断功能

// 测试此抽象路径名表示的文件或目录是否存在
boolean exists()
// 测试此抽象路径名表示的文件是否是一个目录
boolean isDirectory()
// 测试此抽象路径名表示的文件是否是一个标准文件
boolean isFile()
// 测试此抽象路径名指定的文件是否是一个隐藏文件
boolean isHidden()
// 测试应用程序是否可以读取此抽象路径名表示的文件
boolean canRead()
// 测试应用程序是否可以修改此抽象路径名表示的文件
boolean canWrite()

	    File file = new File("F://hello");File file2 = new File(file, "blog.txt");// 判断是否存在if (!file.exists()) {// 创建目录file.mkdir();}if (file2.exists()) {// 创建文件file2.createNewFile();}// 判断是否是目录System.out.println(file.isDirectory());// true// 判断是否是文件System.out.println(file.isFile());// falseSystem.out.println(file2.isDirectory());// falseSystem.out.println(file2.isFile());// trueSystem.out.println(file2.isHidden());// false// 判断是否是隐藏的System.out.println(file2.isHidden());// false// 判断是否可读System.out.println(file2.canRead());// true// 判断是否可写System.out.println(file2.canWrite());// true

注:可以自主修改文件可读性,查看不同输出。

(4).获取功能

(1).基本获取功能

// 返回由此抽象路径名表示的文件或目录的名称
String getName()
// 返回此抽象路径名的绝对路径名形式
File getAbsoluteFile()
// 返回此抽象路径名的绝对路径名字符串
String getAbsolutePath()
// 将此抽象路径名转换为一个路径名字符串
String getPath()
// 返回此抽象路径名表示的文件最后一次被修改的时间
long lastModified()

	  	File file = new File("F://hello");File file2 = new File(file, "blog.txt");// 判断文件或目录是否存在if (!file.exists()) {// 不存在则创建file.mkdir();}if (file2.exists()) {// 创建文件file2.createNewFile();}//获取文件名或者目录名System.out.println(file2.getName());// blog.txt//获取文件或目录的绝对路径System.out.println(file2.getAbsolutePath());// F:\hello\blog.txt//获取文件或目录的路径名(绝对路径或者相对路径)System.out.println(file2.getPath());// F:\hello\blog.txt//获取文件或目录修改的最后时间返回毫秒值System.out.println(file2.lastModified());// 1463734158963
(2).迭代获取功能,过滤器功能

// 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
String[] list()
// 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录
String[] list(FilenameFilter filter)
// 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件
File[] listFiles()
// 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
File[] listFiles(FileFilter filter)
// 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
File[] listFiles(FilenameFilter filter)

图示:先看下F盘里面的东东
这里写图片描述

	    File file = new File("F://");// 获取抽象路径名下的文件和目录String[] s = file.list();// 过滤文件或者目录名String[] ss = file.list(new FilenameFilter() {public boolean accept(File dir, String name) {// 返回以.png结尾的文件或者目录名// 控制返回值判断是否添加到数组中return name.endsWith(".png");}});// 增强for输出for (String string : s) {System.out.print(string + " ");// $RECYCLE.BIN android4.0黑马  android视频......等等}// 增强forfor (String string : ss) {System.out.print(string + " ");// ic_ptr_loading.png ic_ptr_pull.png ic_ptr_release.png}// 获取抽象路径名下的文件和目录对象File[] files = file.listFiles();// 获取抽象路径名下的文件和目录对象,添加文件过滤File[] files2 = file.listFiles(new FileFilter() {public boolean accept(File pathname) {// 判断是否是隐藏目录return (pathname.isDirectory()&&pathname.isHidden());}});// 获取抽象路径名下的文件和目录对象,添加文件名过滤File[] files3 = file.listFiles(new FilenameFilter() {public boolean accept(File dir, String name) {// 判断是否是以png结尾的文件return (new File(dir, name).isFile())&&name.endsWith(".png");}});for (File f : files) {System.out.print(f.getName()+" ");//$RECYCLE.BIN android4.0黑马 android视频......等等System.out.println();for (File f : files2) {System.out.print(f.getName()+" ");//$RECYCLE.BIN ghos }System.out.println();for (File f : files3) {System.out.print(f.getName());//ic_ptr_loading.pngic_ptr_pull.pngic_ptr_release.png}

(5).重命名功能

// 重新命名此抽象路径名表示的文件
boolean renameTo(File dest)

        // 重新命名此抽象路径名表示的文件// boolean renameTo(File dest)File file = new File("f://");File[] files = file.listFiles();for (int i = 0; i < files.length; i++) {File f = files[i];//判断是否是以.png结尾的文件if (f.isFile() && f.getName().endsWith(".png")) {// 更改文件名,renameTo()接收File对象 ,这里该对象并未指定盘符boolean b = f.renameTo(new File("pic" + i + ".png"));System.out.println(b);// true// true// true}}

图示:
这里写图片描述
这里写图片描述

注:更改文件或目录名时,renameTo()方法参数对象如果不指定盘的话,默认会将文件剪切到项目目录下(由上面截图可以看到);指定盘符的话会根据指定位置剪切到该位置。renameTo()方法相当于剪切加重命名。

注:更多方法查看API


http://chatgpt.dhexx.cn/article/RBNRBNF5.shtml

相关文章

Java 文件基本技术 文件概述

这里写目录标题 13.1 文件概述13.1.1 基本概念和常识1.二进制思维2.文件类型3.文本文件的编码4.文件系统5.文件读写 13.1.2 Java文件概述1.流2.装饰器设计模式3.Reader/Writer4.随机读写文件5.File6.NIO7.序列化和反序列化 参考目录 13.1 文件概述 在本节&#xff0c;我们主要介…

Java文件操作

文章目录 1、文件的基本概念2、java文件操作2.1 File概述2.2 InputStream 和 FileInputStream2.3 OutputStream 和 OutputStreamWriter 1、文件的基本概念 平时说的文件一般都是指存储在硬盘上的普通文件&#xff0c;形如txt&#xff0c;jpg&#xff0c;mp4&#xff0c;rar等这…

Java 文件操作

Java 文件操作 引言1. 对文件的初步认识2. 绝对路径和相对路径 一、File 类File 类对应的方法创建一个文件测试一测试二测试三测试四测试五( 面试题 )测试六测试七 二、InputStream测试一try with resources 语法测试二测试三 三、OutputStream测试一测试二总结 四、案例案例1…

java文件

File File创建 1.根据路径构建FileFile file new File("d:\\1.txt");2.根据父目录文件子路径构建文件File parentFile new File("d:\\");String fileName "2.txt";File file new File(parentFile, fileName);3.父目录子路径构建String pare…

Java文件操作(超详细+代码示例)

Java文件操作 一、Java.io包1.1 File类1.2 Stream流&#xff08;字节流&#xff09;1.2.1 使用FileInputStream类1.2.2 使用FileOutputStream类1.2.3 小总结 1.3 Stream流&#xff08;字符流&#xff09;1.3.1 FileWriter类 与 BufferedWriter类使用1.3.2 FileReader类 与 Buff…

二、八大数据类型

在Java中有八种基本数据类型来存储数值、字符和布尔值&#xff1a; 2.1 整数型 整数型有byte(字节)、short(短整型)、int(整型)、long(长整型)四种。&#xff08;说明&#xff1a;可使用L或l后缀来声明长整型数值&#xff09; 以0开始的数值被解释为8进制数值&#xff1b;以…

Java 八大基本数据类型简述

java 的基本数据类型关系图 1、取值范围 类型默认值占用存储空间/字节范围byte01-127~128(-2的7次方到2的7次方-1)short02-32768~32767(-2的15次方到2的15次方-1)int04-2147483648~2147483647(-2的31次方到2的31次方-1)long08-9223372036854774808~9223372036854774807(-2的63次…

Java基础(一) 八大基本数据类型

自从Java发布以来&#xff0c;基本数据类型就是Java语言的一部分&#xff0c;分别是***byte, short, int, long, char, float, double, boolean***. 其中&#xff1a; 整型&#xff1a;byte, short, int, long 字符型&#xff1a;char 浮点型&#xff1a;float, double 布…

Java 中的八大基本数据类型、类型转换

目录 1. ♥常见的数据类型 2. ♥引用数据类型 3. ♥类型转换 4. ♥数值提升 5. ♥int 和 String 之间的相互转换 1. 基本数据类型 八大基本数据类型&#xff1a; 整型&#xff1a;byte、short、int、long浮点型&#xff1a;double&#xff08;双精度浮点型&#xff09;、…

Java基础:Java八大基本数据类型

一、背景。 这篇文章主要介绍了Java八大数据类型详细教程,本文通过图文并茂的形式给大家介绍的非常详细&#xff0c;对大家的学习或工作具有一定的参考借鉴价值&#xff0c;需要的朋友可以参考下。放假在家里休息&#xff0c;闲来无事&#xff0c;想巩固巩固自己的基础知识。J…

Java八大基本数据类型

前言&#xff1a;做一下笔记。 1.Java基本数据类型图 2.Java基本数据类型 整数类型&#xff1a;byte&#xff0c;1字节&#xff0c;8位&#xff0c;最大存储数据量是255&#xff0c;存放的数据范围是-128~127之间。整数类型&#xff1a;short&#xff0c;2字节&#xff0c;16…

好用网站推荐

说明 整理一下常用的网站&#xff0c;其中包括学习、素材、教学视频、一些优秀的论坛等网站&#xff0c;并推荐给大家大家按需获取 首先推荐一些非常好的网站&#xff0c;网站百度就能搜到&#xff1a;知乎&#xff0c;轻单&#xff0c;果壳&#xff0c;花瓣&#xff0c;电子发…

c++好用的网站

目录 洛谷www.luogu.com.cn 有道小图灵https://oj.youdao.com/csp 维基https://oi-wiki.org/ 信奥赛一本通http://ybt.ssoier.cn:8088/index.php 1&#xff0c;洛谷 他的网址是www.luogu.com.cn。 这是一个好用的刷题网站&#xff0c;题库里有大约有2000多道题。 洛谷有题…

有哪些好用的搜索引擎网站推荐?

分享一些私藏已久的搜索引擎&#xff0c;个个都十分强大&#xff0c;一起来看看吧&#xff01; 01.秘迹搜索 这是一款无敌有良心、无敌安全的搜索引擎&#xff0c;不会收集私人信息&#xff0c;保护私隐&#xff0c;没有Cookie&#xff0c;并且秘迹搜索聚合了百度、360、Bing…

分享一些冷门好用的网站和软件

分享一&#xff1a;UZER UZER是一个功能强大的云端应用空间&#xff0c;可以帮助您将所有的文件和应用程序都集中在一个地方&#xff0c;让您随时随地轻松访问。 以下是它的主要特点&#xff1a; 云存储&#xff1a;UZER提供大量的云存储空间&#xff0c;让您可以安全地存储…

网站分享:7个非常好用的电子书网站

❤️作者主页&#xff1a;IT技术分享社区 ❤️作者简介&#xff1a;大家好,我是IT技术分享社区的博主&#xff0c;从事C#、Java开发九年&#xff0c;对数据库、 C#、 Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉&#xff1a; 数据库领域优质创作者&#x1f3c6;&…

推荐几个好用的网站导航

1、爱达杂货铺 里面包含很多网站的导航&#xff0c;是我感觉我用过最好的导航网站了&#xff08;里面的网站有些是访问不了的&#xff09; 2、不求人影视导航 该网站里面有各种影视网站的地址集合&#xff0c;还有动漫、美剧。。。。。 3、龙轩导航 界面简洁&#xff0c;集合…

收藏的一些好用的网站

一、PPT模板 网址&#xff1a;https://pptmon.com/ PPTMON - Free PowerPoint Templates and Google Slides Themes 是一个提供 PowerPoint 模板和图标素材下载的网站。该网站上有大量的 PowerPoint 模板&#xff0c;可供用户根据自己的需要进行选择和下载。此外&#xff0c;该…

别找了!前端那些好用的网站都在这里了!【文末送书】

&#x1f340;前言 好用的网站千千万万&#xff0c;如果你还发现好用的网站&#xff0c;欢迎在评论区中留言分享&#x1f601;&#xff0c;赠书活动在文末哟&#xff0c;中奖者可以从给出的五本书中任意挑选自己喜欢的那本 文章目录 &#x1f340;前言 &#x1f340;一、渐变…

值得推荐好用的网址导航网站大全

一个好用的网址导航网站&#xff0c;可以帮助我们快速发现找到一些优质的网站。小编就和大家分享几个值得推荐的网站导航网。 1.办公人导航 办公人导航是一个特别适合职场办公人使用的网址导航网站&#xff0c;收录了办公人常用的在线工具&#xff0c;软件下载&#xff0c;ppt…