Java文件操作之IO流 File类的使用详解
作者:叶绿体不忘呼吸 发布时间:2023-07-26 00:49:41
File类概述
File类能新建、删除、重命名文件和目录,但不能访问文件内容本身,如果需要访问文件内容本身,则需要使用后续的输入/输出流。
要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。
File对象可以作为参数传递给流的构造器。
常用构造器
①public File(String pathname)
以pathname为路径创建File对象,可以是绝对路径或者相对路径,如果是相对路径,则默认相对于当前project。
File file1 = new File("hello.txt"); //相对路径
File file2 = new File("C:\\IDEA\\untitled\\file\\hi.txt"); //绝对路径
②public File(String parent,String child)
以parent为父路径,child为子路径创建File对象。
File file3 = new File("C:\\IDEA\\untitled\\", "file");
③public File(File parent,String child)
根据一个父File对象和子文件路径创建File对象
File file3 = new File("C:\\IDEA\\untitled\\", "file");
File file4 = new File(file3, "hi.txt");
常用方法
①File类的获取功能public String getAbsolutePath()
:获取绝对路径public String getPath()
:获取路径public String getName()
:获取名称public String getParent()
:获取上层文件目录路径,若无,返回nullpublic long length()
:获取文件长度(即:字节数),不能获取目录的长度public long lastModified()
:获取最后一次的修改时间,毫秒值public String[] list()
:获取指定目录下的所有文件或者文件目录的名称数组public File[] listFiles()
:获取指定目录下的所有文件或文件目录构成的数组
import java.io.File;
/**
* @Author: Yeman
* @Date: 2021-09-24-21:50
* @Description:
*/
public class FileTest {
public static void main(String[] args) {
File file1 = new File("hello.txt");
File file2 = new File("C:\\IDEA\\untitled\\file\\hi.txt");
System.out.println(file1.getAbsolutePath());
System.out.println(file1.getPath());
System.out.println(file1.getName());
System.out.println(file1.getParent());
System.out.println(file1.length());
System.out.println(file1.lastModified());
System.out.println(file2.getAbsolutePath());
System.out.println(file2.getPath());
System.out.println(file2.getName());
System.out.println(file2.getParent());
System.out.println(file2.length());
System.out.println(file2.lastModified());
}
}
②File类的重命名功能public boolean renameTo(File dest)
:把文件重命名为指定的文件路径和文件名,相当于是把真实文件转移并且重命名了
import java.io.File;
/**
* @Author: Yeman
* @Date: 2021-09-24-21:50
* @Description:
*/
public class FileTest {
public static void main(String[] args) {
File file1 = new File("hello.txt"); //file1需要在硬盘中真实存在
File file2 = new File("C:\\IDEA\\hi.txt"); //在硬盘中不存在file2
boolean b = file1.renameTo(file2);
System.out.println(b);
}
}
③File类的判断功能
硬盘中要真实存在才能做出真实判断public boolean isDirectory()
:判断是否是文件目录public boolean isFile()
:判断是否是文件public boolean exists()
:判断是否存在public boolean canRead()
:判断是否可读public boolean canWrite()
:判断是否可写public boolean isHidden()
:判断是否隐藏
④File类的创建功能public boolean createNewFile()
:创建文件,若文件存在,则不创建,返回falsepublic boolean mkdir()
:创建文件目录,如果此文件目录存在,就不创建了,如果此文件目录的上层目录不存在,也不创建public boolean mkdirs()
:创建文件目录,如果上层文件目录不存在,一并创建
⑤File类的删除功能public boolean delete()
:删除文件或者文件夹
删除注意事项:Java中的删除不走回收站。要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录
import java.io.File;
import java.io.IOException;
/**
* @Author: Yeman
* @Date: 2021-09-24-21:50
* @Description:
*/
public class FileTest {
public static void main(String[] args) throws IOException {
File file1 = new File("hello.txt");
if (!file1.exists()){
//文件不存在,创建
file1.createNewFile();
System.out.println("创建成功");
}else {
//文件存在,删除
file1.delete();
System.out.println("删除成功");
}
}
}
来源:https://blog.csdn.net/m0_46653805/article/details/120463469
猜你喜欢
- 最近要给一个 Winform 项目添加功能,需要一个能显示进度条的弹窗,还要求能够中止任务,所以就做了一个,在此做个记录总结。虽然用的是比较
- C语言/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,和time()函数。需要说明的是,iostream头文件
- 前言悬浮窗是一种比较常见的需求。例如把视频通话界面缩小成一个悬浮窗,然后用户可以在其他界面上处理事情。本文给出一个简单的应用内悬浮窗实现。可
- 如下所示: /** * 判断某个界面是否在前台 * * @param context
- Spring JPA 增加字段执行异常用Spring jpa Entity里面增加了几个字段,但启动报错,提示column Unable t
- Android的应用被限制为最多占用16m的内存,至少在T-Mobile G1上是这样的(当然现在已经有几百兆的内存可以用了——译者注)。它
- 本文实例为大家分享了android TextView跑马灯效果的具体代码,供大家参考,具体内容如下一、要点设置四个属性android:sin
- 本博文将为您提供自Java 7以来增加的很棒的新功能的示例。我将展示每个Java版本的至少一项重大改进,一直到2020年秋季发布的Java
- 什么是JMMJMM全称Java Memory Model, 中文翻译Java内存模型,一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问
- 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。 一、静态库和动态库的区别1. 静态函数库这类库的
- NDK部分1、下载ndk这里就一笔带过了。2、解压ndk不要解压,文件权限会出错。执行之,会自动解压,然后mv到想放的地方。我放到了”/us
- 本文实例为大家分享了Android实现图片设置圆角形式的具体代码,供大家参考,具体内容如下1.自定义的图片圆角形式CircleImageVi
- 右击有main方法的类===> Run as===> Run Configurations ===>双击java
- 图像滤波在opencv中可以有多种实现形式自定义滤波如使用3×3的掩模:对图像进行处理.使用函数filter2D()实现#include&l
- 前言本文将带您了解在 Flutter 中制作翻转卡片动画的两个完整示例。第一个示例从头开始实现,第二个示例使用第三方包。闲话少说,让我们动手
- Android 自动获取验证码的两种方式分别是BroadcastReceiver及ContentObserver,两种方式都需要进行注册、取
- 工作中有做过手机App项目,前端和android或ios程序员配合完成整个项目的开发,开发过程中与ios程序配合基本没什么问题,而andro
- spinner组件有点类型于HTML中的下拉框<Select></select>的样子,让用户每次从下拉框中选取一个
- 很多App都有这种效果,特别一些电商类的App,顶部每隔几秒钟会向右翻页显示下张图片,用来作推广或者内容展示用的。今天来简单地模仿一下,还自
- 递归生成一个如图的菜单,编写两个类数据模型Menu、和创建树形的MenuTree。通过以下过程实现:1.首先从菜单数据中获取所有根节点。2.