java File 类对操作系统文件目录进行操作:增删查
File类
1,概述
2,构造方法
- public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的File实例。
- public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的File实例。
- public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的File实例。
3,常用方法
1,文件名相关的方法:
- getAbsolutePath():返回文件或者目录的绝对路径
- getPath():将此抽象路径名转换为路径名字符串
- getName():返回文件名
- renameTo(File file):把文件剪切为一个新的路径
2,文件检测相关的方法:
- boolean exists(): 判断File对象所对应的文件或目录是否存在
- boolean canWrite(): 判断File对象所对应的文件和目录是否可写。如果是目录,表示是否可以在目录中创建文件。如果是文件,表示是否可以在文件中写入内容。
- boolean canRead(): 判断File对象所对应的文件和目录是否可读。
- boolean isFile(): 判断File对象所对应的是否是文件,而不是目录
- boolean isDirectory(): 判断File对象所对应的是否是目录,而不是文件
- boolean isAbsolute(): 判断File对象所对应的文件或目录是否是绝对路径。该方法消除了不通平台的差异,可以直接判断 File 对象是否为绝对路径。在Linux系统上如果文件开头是一个斜杠/那么是绝对路径,在windows系统上,如果文件开头是一个磁盘盘符,那么是绝对路径
3,获取文件的常规信息:
- long lastModified(): 返回文件的最后修改时间戳
- long length(): 返回文件内容的长度
4,文件增删:
- boolean createNewFile(): File所对应的文件不存在时,该方法将新建一个该File对象所指定的新文件,如果创建成功则返回 true;否则返回false
- boolean delete(): 删除File对象所对应的文件或路径
5,目录相关的方法:
- boolean mkdir(): 试图创建File所对应的目录,如果创建成功,则返回true; 否则返false 调用该方法时File对象必须对应一个路径,而不是一个文件
- boolean mkdirs():创建File对应的目录,包括其父目录
- String[] list(): 列出 File 象的所有子文件和路径名 ,返回String数组
- File[] listFiles(): 列出File对象的所有子文件和路径,返回file数组。
小测试:递归查找所有子目录下文件
import javax.naming.Name;
import java.io.File;
import java.io.FileInputStream;
import java.io.FilenameFilter; /**
* @ClassName JavaIOFileExample
* @projectName: object1
* @author: Zhangmingda
* @description: XXX
* date: 2021/4/16.
*/
public class JavaIOFileExample {
public static void main(String[] args) {
File file = new File("输入输出文件读写/src/test");
file.mkdir(); //创建目录
// String[] filelist = file.list((dir, fileName)-> fileName.endsWith(".txt")); //过滤器
String[] nameList = file.list();
//打印文件名
for (String f : nameList){
System.out.println(f);
}
//打印目录下所有文件
listDir(file);
} /**
* 简单封装一下便于入口只需指定一个目录名
* @param file
*/
public static void listDir(File file){
listDir(file,0);
} /**
* @param dir File 对象
* @param spaceNum 需要打印的空格数,便于区分层级
*/
public static void listDir(File dir, int spaceNum){
for(int i=0; i<spaceNum; i++){
System.out.print(" ");
}
System.out.println(dir.getName());
File[] files = dir.listFiles();
for(File subDirOrFile : files){
if(subDirOrFile.isDirectory()){
listDir(subDirOrFile,spaceNum + 2);
}else{
for(int i=0; i<spaceNum + 2; i++){
System.out.print(" ");
}
System.out.println(subDirOrFile.getName());
}
}
}
}

java File 类对操作系统文件目录进行操作:增删查的更多相关文章
- Java学习笔记——File类之文件管理和读写操作、下载图片
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...
- Java File类总结和FileUtils类
Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...
- Java File 类的使用方法详解
Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对Java File文件操作类进行详细地分析,并将File类中的常用方法进行简单介绍,有需要的Java开发者可以看 ...
- Java File 类的使用方法详解(转)
转自:http://www.codeceo.com/article/java-file-class.html Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对J ...
- Java File类 mkdir 不能创建多层目录
File f = new File("/home/jp/Upload"); if ((!f.exists()) || (!f.isDirectory())) {boolean re ...
- Java File类基础解析 1
Java File类基础解析 1 File类的构造方法 public File(String pathname) :通过给定的路径名字符转换为抽象路径名来创建新的File实例 String path ...
- SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码)
SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码) 概述: 表由行和列组成,每个表都必须有个表名. SQL CREATE TABLE 语法 CREATE TABLE tabl ...
- Java File类基本操作
我们可以利用Java.io.File类对文件进行操作,基本操作如下: 1)创建文件: public boolean createNewFile() throws IOException 2)删除文件: ...
- Java File类常用方法及实例
创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false. createTempFile(String prefix, String s ...
随机推荐
- Electron快速入门之debug
view->toggleDevelpper Tools 本地桌面调试 浏览器debug "start": "electron --inspect=5858 .&qu ...
- 随笔:关于.net core单文件AOT编译
.Net Core单文件发布已经很流畅了(vs已支持图形化操作发布). 但类似Go或者Graalvm JDK的完全事前编译为本地机器码的红能功能,还未发布于.net 6特性中,还处于实验室中. 另外, ...
- [Cnoi2020]线性生物
期望入门题.但是我不会做. 考虑设\(E_{x\to{x+1}}\)为\(x\)到\(x+1\)点的期望步数. 则\(ans = \sum_{i = 0}^{n} E_{x\to{x+1}}\) 知\ ...
- 洛谷 P6478 - [NOI Online #2 提高组] 游戏(二项式反演+树形 dp)
题面传送门 没错这就是我 boom0 的那场 NOIOL 的 T3 一年前,我在 NOIOL #2 的赛场上折戟沉沙,一年后,我从倒下的地方爬起. 我成功了,我不再是从前那个我了 我们首先假设 A 拥 ...
- miRNA分析--数据过滤(一)
miRNA 数据过滤我使用cutadapt 1 cutadapt -a AGATCGGAAGAGCACACGTCT -m 15 -q 20 --discard-untrimmed -o outname ...
- python-django 模板的抽象和继承
{% include %}只需要一句即可,不需要end***
- chmod文件权限分配问题
一. 文件(文件夹)的权限问题 一个文件或者文件夹,使用它的人有三类:root.当前用户和其他用户,例如,我们可以通过 ls -l xxx.xxx 来查看文件 "xxx.xxx" ...
- A Child's History of England.3
So, Julius Caesar came sailing over to this Island of ours, with eighty vessels and twelve thousand ...
- day03 MySQL数据库之主键与外键
day03 MySQL数据库之主键与外键 昨日内容回顾 针对库的基本SQL语句 # 增 create database meng; # 查 show databases; shwo create da ...
- CentOS7 安装配置RocketMQ --主从模式(master-slave)异步复制
机器信息 192.168.119.129 主 192.168.119.128 从 配置host[两台机器] vim /etc/hosts 添加 192.168.119.129 rocketmq-nam ...