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


猜你喜欢
- 下标到指针之间和转换以下的程序做了什么。#include <stdio.h> int main() { int a
- 本文实例讲述了C#实现将窗体固定在显示器的左上角且不能移动的方法。分享给大家供大家参考。具体实现方法如下:using System;usin
- 1、为什么需要自定义ViewAndroid系统内置的View不满足我们的业务需求2、自定义View的基本方法onMeasure:决定着Vie
- 在日常的app使用中,我们会在android 的app中看见 热门标签等自动换行的流式布局,今天,我们就来看看如何自定义一个类似热门标签那样
- 引言这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友
- springboot 无法自动装配@Autowired 报错:无法自动装配基本上是因为1、项目里有类似mybatis @Mapper这种第三
- 从大学就开始做C#这块,也做C#几年了,最近又从ios转回.Net,继续做C#,之前也没有写博客的习惯,写博客也是从我做ios的时候开始的,
- 前言:在纯 Java 代码里 我们一般都会用class.getResource(String name) 或者 class.getClass
- 1.方法重写子类写和父类一样的方法定义public void call(){System.out.println(“输出文字”); //父类
- instanceof关键字的使用1. 语法格式x instanceof A:检验x是否为类A的对象,返回值为boolean类型,如果是,返回
- 依赖<dependency> <groupId>com.baomidou</groupId> <a
- 前言 短时间提升自己最快的手段就是背面试题,最近总结了Java常用的面试题,分享给大家,希望大家都能圆梦大厂,加油,我命由我不由天
- 简介本文用示例介绍SpringBoot如何解决BigDecimal传到前端后精度丢失问题。问题描述实例Controllerpackage c
- 上一节是把大概的流程给过了一遍,但是还有很多地方没有说到,后续的慢慢会涉及到,敬请期待!这次我们说说垃圾收集器,又名gc,顾名思义,就是收集
- pom配置<?xml version="1.0" encoding="UTF-8"?>&
- 在Spring中进行事务管理非常简单,只需要在方法上加上注解@Transactional,Spring就可以自动帮我们进行事务的开启、提交、
- Java的接口和抽象类深入理解对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。
- 本文实例为大家分享了ImageSwitcher图像切换器的实现代码,供大家参考,具体内容如下描述在该实例中,提供一个图片切换器和两个点击按钮
- 导入Jstl标签库<%@ taglib uri="http://java.sun.com/jsp/jstl/core&quo
- 一、概述在微服务架构中,我们将系统拆分成了很多服务单元,各单元的应用间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依