File类。
File类:
java.io.File 类。是文件和文件夹目录名的抽象表示形式。
可以用File对文件和文件夹进行 创建,删除,获取等操作。
File类的一些静态成员变量:
static String pathSeparator :路径分隔符, Windows:分号 Linux:冒号。
static String separator :文件名称分隔符 Windows: \ Linux: / 。
File类的构造方法。
File (String pathname) 通过给定的路径名字创建实例。
路径可以是文件或文件夹名,可以相对路径也可以绝对路径,可以存在也可不存在(创建
File对象,只是把给定路径封装为File对象,不考虑真假)。
File(String parent,String child) 通过给定的父路径和子路径,创建实例。
好处:子路径父路径单独写,用起来灵活。
File(File parent,String child) ......
好处:1、灵活 2、 父路径是File类型,可以用File的方法进行一些操作。
File类获取功能的一些方法:
public String getAbsolutePath() : 返回绝对路径名字符串。
public String getPath() :转换为路径的字符串格式。
public String getName() : 返回File表示的文件或目录名称 (尾部部分)
public long Length() : 返回此File表示的文件的长度。
文件夹没有大小概念,所以不能获取文件夹大小。如果路径不存在,返回0.
File类判断功能的一些方法:
public boolean exists(); 此File表示的文件或文件夹是否实际存在。
public boolean isDirectory() 路径是否为目录。
public boolean isFile() 路径是否为文件。
File类创建和删除功能的一些方法:
public boolean createNewFile() : 文件不存在时,创建文件。
public boolean mkdir() : 创建单级文件夹。
public boolean mkdir() : 创建单级或多级文件夹。
public boolean delete() : 删除文件或文件夹。 直接删除,不进回收站。
删除成功,返回true。文件夹中有内容,或路径不存在,返回false。
File类目录的遍历。
public String[ ] list() ; 把路径下的所有文件或文件夹名称,存到数组中。
public File[ ] listFiles(); 把路径下的所有文件和文件夹封装为File对象,存在File数组中。
public class main {
public static void main(String[] args) throws IOException {
File file=new File("C:\\Users\\天\\Desktop\\平时实验作业");
ReadFile(file);
}
public static void ReadFile(File file){
for (File f:file.listFiles()){
if (f.isDirectory()){
System.out.println(f.getName()+":");
ReadFile(f);
}
else {
System.out.println(f.getName());
}
}
}
}
FileFilter:文件过滤器。
在File类中,有两个和listFiles重载的方法,方法的参数传递就是过滤器。
File[ ] listFiles(FileFilter filter)
java.io.FileFilter接口: 用于File对象的过滤器,作用:用来过滤文件(File对象)。
抽象方法: boolean accept(File pathname):测试指定抽象路径名是否应该包含在某个路径列 表中。参数: File pathname: 用listFiles遍历目录,得到每一个文件对象。
File[ ] listFiles(FilenameFilter filter)
java.io.FilenameFilter 接口:实现此接口的类实例可用于过滤文件名。
抽象方法:boolean accept(File dir,String name)
参数:File dir: 构造方法中传递的被遍历的目录。
String name: 用listFiles遍历目录,获取每个文件或文件夹名。
注意: 两个过滤器接口都没有实现类,需要自己写实现类,并重写accept,定义过滤规则。
过滤器原理:
1、listFile方法一共做了三件事:第一,对构造方法中传递的目录进行遍历,获取每个文件/夹
封装为File对象。第二,调用参数传递的过滤器中的accept()。第三、把每个File对象
传递给accept()的参数,pathname。
2、accept方法的返回值为true:把传过去的File对象保存到File数组,false:不保存。
查找所有.zip 文件:
public class main {
public static void main(String[] args) throws IOException {
File file=new File("C:\\Users\\天\\Desktop\\平时实验作业");
ReadFile(file);
}
public static void ReadFile(File file){
for (File f:file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getName().toLowerCase().endsWith(".zip")|| pathname.isDirectory();
}
})){
if (f.isDirectory()){
ReadFile(f);
}
else
System.out.println(f.getName());
}
}
}
lambda简化版:
public class main {
public static void main(String[] args) throws IOException {
File file=new File("C:\\Users\\天\\Desktop\\平时实验作业");
ReadFile(file);
}
public static void ReadFile(File file){
for (File f:file.listFiles(pathname->pathname.getName().toLowerCase().endsWith(".zip")|| pathname.isDirectory()
)){
if (f.isDirectory()){
ReadFile(f);
}
else
System.out.println(f.getName());
}
}
}
File类。的更多相关文章
- java中File类的使用
public class FileLei { public static void main(String[] args) throws IOException { //..表示上 ...
- File 类
File 类:文件和目录(文件夹)路径名的抽象表现形式. 方法 1.创建功能 public boolean createNewFile():创建文件 public boolean mkdir():创建 ...
- C#File类常用的文件操作方法(创建、移动、删除、复制等)
File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件. File类方法的参量很多时候都是路径path ...
- File类基础
File类的作用: Java的io包中定义了File类,用于对文件或文件夹的管理操作. File类只能够用于表示文件或文件夹的信息(属性)和对该文件或文件夹的删除创建操作 (不能对内容进行访问) 通过 ...
- 【转】File类应用 - FilenameFilter 和 FileFilter
FilenameFilter & FileFilter FilenameFilter 和 FileFilter 都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码 ...
- Java篇-File类之创建删除
/** * */ package com.io.file; import java.io.File; import java.io.IOException; import org.junit.Test ...
- JavaIO之File类
Java-IO之File类 Java-IO之File类 1. File类 1.1. File类说明 1.2. 体验 File 类 1.3. 构造一个 File 类实例: 1.4. 路径: 1.4.1. ...
- I/O流——File类及使用
I/O框架介绍 I/O是计算机输入/输出的接口.Java的核心库java.io提供了全方面的I/O接口,包括:文件系统的操作,文件读写,标准设备的输出等. File类及使用 ① 一个File类的对 ...
- 初学File类
对File类的基本方法的理解 今天刚开始学了File类 一开始看思想编程看得迷迷糊糊的,之后受不了了,直接去看API文档 归纳: File->java.util File类的主要方法: 构造方法 ...
- Java File类总结和FileUtils类
Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...
随机推荐
- 关于Socket 多线程 的一篇好文章
http://www.kegel.com/c10k.html#topIt's time for web servers to handle ten thousand clients simultane ...
- Biopython常用功能模块
Biopython项目是旨在减少计算生物学中代码重复的开源项目之一,由国际开发人员协会创建. 它包含表示生物序列和序列注释的类,并且能够读取和写入各种文件格式(FASTA,FASTQ,GenBank和 ...
- 3、scala数组
一.Array .Array Buffer 1.Array 在Scala中,Array代表的含义与Java中类似,也是长度不可改变的数组. 此外,由于Scala与Java都是运行在JVM中,双方可以互 ...
- CodeForces - 1017D Round #502 D. The Wu(状压预处理)
D. The Wu time limit per test 2 seconds memory limit per test 256 megabytes input standard input out ...
- MongoDB官方C#驱动的AsQueryable踩到坑了
collection.AsQueryable().Where()有4个重载,分别是: public static IQueryable<TSource> Where<TSource& ...
- 判断ip地址是否为内网ip或局域网ip
bool IsLanIp(string& ip) { ,) == ,) == ,) == "192.") { return true; } else { return fa ...
- svn提交的时候提示No space left on device
看到这个错误,第一个反应是磁盘空间满了:但 df 一看,每个分区的空间都还富余的很.从 munin 的监控图表上看 Filesystem usage 也很平稳,但下面的 Inode usage 就有问 ...
- 洛谷P1070 道路游戏
P1070 道路游戏 题目描述 小新正在玩一个简单的电脑游戏. 游戏中有一条环形马路,马路上有 n 个机器人工厂,两个相邻机器人工厂之间由一小段马路连接.小新以某个机器人工厂为起点,按顺时针顺序依次将 ...
- 洛谷 P2216 [HAOI2007]理想的正方形
P2216 [HAOI2007]理想的正方形 题目描述 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小. 输入输出格式 输入格式: 第一 ...
- IT兄弟连 JavaWeb教程 过滤器1
Servlet过滤器是从Servlet2.3规范开始新增的功能,并在Servlet2.4规范中得到增强,监听器可以监听到Web应用程序启动和关闭.创建过滤器和监听器需要继承相应接口,并对其进行配置. ...