Java IO之File
2019独角兽企业重金招聘Python工程师标准>>>
FILE类是用来实现获取文件、文件夹的类库工具,File并非像类名所表示的那样只是用来表示文件,它还可以用来表示文件夹。所以可以用File来获取一个目录下的所有文件,甚至是文件夹中的文件。
一个简单的获取当前文件目录下所有文件及文件夹的方法
public static void dir() {File dir = new File(".");// "."表示当前文件所在目录String[] files = dir.list();// 获取该路径下所有的文件数组for (String s : files)System.out.println(s);}
也可以通过这种方式,递归实现获取指定目录及所有子孙目录下所有文件树。
public static void allFiles(String path, int layer) {File file = new File(path);// 根据路径创建目录String[] files = file.list();File temp;for (String s : files) {String p = path + "/" + s;// 构造新路径for (int i = 0; i < layer; i++)System.out.print("\t");System.out.println("|-" + s);temp = new File(p);if (temp.isDirectory())// 如果该File是目录(即文件夹),则递归显示该目录下的文件allFiles(p, layer + 1);}}
其中layer参数用来表示目录的深度,方便根据文件树的深度进行缩进输出。
如果需要对文件目录进行删选,则给list()方法提供一个实现FilenameFilter接口的对象,并且重写其中的accept()方法,用正则表达式对文件名进行匹配。
public static void fileFilter() {File file = new File(".");String files;for (String s : file.list(new FilenameFilter() {// 通过匿名内部类实现一个FilenameFilter一个实例,并实现其中的accept方法@Overridepublic boolean accept(File dir, String name) {return Pattern.compile(".*\\.java").matcher(name).matches();// 通过正则表达式,对文件名进行匹配,匹配以".java"结尾的文件}})) {System.out.println(s);}}
File类中有如下常用方法:
public String getName(); //获取文件名
public String getParent();//获取其父路径
public String getAbsolutePath();//获取其在计算机中的绝对路径
public boolean canRead();//文件是否可读
public boolean canWrite();//文件是否可以写
public boolean canExecute();//文件是否可执行
public boolean exists();//文件是否存在
public boolean isDirectory();//是否是文件夹(目录)
public boolean isFile();//是否是文件
public boolean isHidden();//是否隐藏
public long length();//获得文件长度
public boolean createNewFile();//创建新文件
public boolean delete();//删除该文件
转载于:https://my.oschina.net/u/3099393/blog/798356
Java IO之File相关推荐
- 安装好hadoop集群后,报错如下n org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /data/hadoop-roo
master错误: n org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /data/hadoop-root-namen ...
- Glide java.io.IOException(File unsuitable for memory mapping)
异常信息 03-06 14:43:26.656 W/Glide ( 852): class com.bumptech.glide.load.engine.GlideException: Failed ...
- Java IO 、 File 、 文件复制
目录 1.1转换流 1.1.1概述 1.1.2 InputStreamReader 1.2打印流 1.2.1概述 1.2.2 使用 1.3 对象流 / 序列化 1.3.1 概述 1.3.2序列化 1. ...
- Java IO:File类方法简介
Java IO:File类方法 File类 能新建.删除.重命名文件和目录,但不能访问文件内容本身. 访问文件名 getName() getPath() getAbsoluteFile() getAb ...
- Hadoop2.2.0 中错误总结之(org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /test._COPYING)
错误: [root@xiajie01 sbin]# hadoop fs -put /root/20131210110122880.doc hdfs://192.168.30.169:9000/tes ...
- Java IO流-File类
2017-10-24 23:50:22 File类 File类:文件和目录路径名的抽象表示形式.该文件或者目录不一定真实存在. * 构造方法 File类有四种构造方法,主要采用的构造方法师第二种,也就 ...
- java IO之 File类+字节流 (输入输出 缓冲流 异常处理)
1. File类 File 路径问题: 上下级文件夹之间使用分隔符分开: 在Windows中分隔符为'\' ,在Unix/Linux中分隔符为'/' 跨平台分隔符: 专业的做法是使用File.sepa ...
- IO-1(Java IO、File类)
1. 简介 之前的程序,数据都存储在内存中,一旦运行结束,数据消失. 数据持久化存储:将内存中的数据存储到内存以外的持久化设备中(硬盘,光盘.U盘等). OS中,数据都保存文件存放在相应的文件夹. 集 ...
- Java IO之File类详解
定义: File类在java.io包下,是java对文件和目录的抽象,用于操作文件或目录,比如创建.删除.执行等等. File类的实例一旦创建就不可改变的,也就是说File类的实例是对a文件的抽象,一 ...
- Day22 Java IO流 File、IO流的字节输出流
File 概述: 想要实现IO流操作,就必须要知道硬盘上文件的表现形式 Java提供了一个类让我们操作硬盘上的文件:File.File也就是文件的表现形式 File:文件和目录(文件夹)路径名的抽象表 ...
最新文章
- 基于SSL的mysql(MariaDB)主从复制
- AI产业落地风向标,2019全球智博会亮点回顾
- python100行代码-100行Python代码自动抢火车票!
- IDEA需要修改的配置
- 业务实体 数据实体
- oracle强制切换redolog组
- 比较两张大小相同的照片的差异,返回数值
- 设置网页文字禁止复制
- hdu4751Divide Groups(dfs枚举完全图集合或者bfs染色)
- 小记linux如何挂载window下的共享文件
- 人人商城商品分享码添加用户的头像和昵称
- 华为WATCH 3手表怎么收能量,速领手表一键收能量
- c语言scanf和printf区别,printf和scanf的区别是什么
- 人大金仓V8R6 for RHEL7.6
- Java多线程运用——赛马小游戏
- 试分别简述udp和tcp的特点_读朱红群《余姚音系简述》
- C#之Sokect通讯实例
- 42所一流大学研究生奖助学金汇总~
- ERP需求和销售管理 华夏
- 谈谈对数据中台,数据治理,数据管理,数据资产管理相关内涵认知
热门文章
- php原生的异步请求,原生JavaScript实现Ajax异步请求
- 小括号教学设计导入_【干货】教学设计万能模板已到达,各科都能用!
- python安装idle_怎么在windows下的Python开发工具IDLE里安装其他模块
- golang微服务框架对比_最强开源微服务框架,全网独家整理
- envi窗口滤波_高光谱ENVI图像处理之滤波
- 华为多臂路由_[分享]华为 AR路由 策略路由 多WAN环境下指定出口 | 霸王硬上弓's Blog...
- c++ 输出二进制_Q音直播编译优化与二进制集成方案
- 账号管理工具_新媒体账号管理工具,自媒体运营神器,管理多个账号很简单
- Windows10 Kafka Docker 集群搭建
- java rtree源码_rtree R树用java实现的源代码,欢迎广大用户学习交流 Applet 272万源代码下载- www.pudn.com...