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类。的更多相关文章

  1. java中File类的使用

    public class FileLei {    public static void main(String[] args) throws IOException {        //..表示上 ...

  2. File 类

    File 类:文件和目录(文件夹)路径名的抽象表现形式. 方法 1.创建功能 public boolean createNewFile():创建文件 public boolean mkdir():创建 ...

  3. C#File类常用的文件操作方法(创建、移动、删除、复制等)

    File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件. File类方法的参量很多时候都是路径path ...

  4. File类基础

    File类的作用: Java的io包中定义了File类,用于对文件或文件夹的管理操作. File类只能够用于表示文件或文件夹的信息(属性)和对该文件或文件夹的删除创建操作 (不能对内容进行访问) 通过 ...

  5. 【转】File类应用 - FilenameFilter 和 FileFilter

    FilenameFilter & FileFilter FilenameFilter 和 FileFilter 都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码 ...

  6. Java篇-File类之创建删除

    /** * */ package com.io.file; import java.io.File; import java.io.IOException; import org.junit.Test ...

  7. JavaIO之File类

    Java-IO之File类 Java-IO之File类 1. File类 1.1. File类说明 1.2. 体验 File 类 1.3. 构造一个 File 类实例: 1.4. 路径: 1.4.1. ...

  8. I/O流——File类及使用

    I/O框架介绍 I/O是计算机输入/输出的接口.Java的核心库java.io提供了全方面的I/O接口,包括:文件系统的操作,文件读写,标准设备的输出等. File类及使用 ①   一个File类的对 ...

  9. 初学File类

    对File类的基本方法的理解 今天刚开始学了File类 一开始看思想编程看得迷迷糊糊的,之后受不了了,直接去看API文档 归纳: File->java.util File类的主要方法: 构造方法 ...

  10. Java File类总结和FileUtils类

    Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...

随机推荐

  1. bzoj 4319 Suffix reconstruction —— 贪心构造

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4319 思维还是不行...这样的构造都没思路... 首先,我们可以按 rank 的顺序从小到大 ...

  2. ubuntu下 修改主机名

    sudo gedit /etc/hostname 写入: sudo gedit /etc/hosts

  3. chromium浏览器开发系列第四篇:如何调试最新chromium

    接二连三的事情,时间比较紧张,但是还是没有把这个系列的文章丢掉,因为这也是对自己知识的总结吧.提倡大家多写写,以后再看的时候会有种莫名的小激动. 上周写的是chromium的目录结构,好像大家不太感兴 ...

  4. Newtonsoft.Json null值不序列化

    如果对当前序列化的实体全部生效的话使用如下: var jSetting = new JsonSerializerSettings {NullValueHandling = NullValueHandl ...

  5. phpcms换域名细节

    修改/caches/configs/system.php里面所有和域名有关的,把以前的老域名修改为新域名. 进入后台设置-->站点管理,对相应的站点的域名修改为新域名. 点击后台右上角的&quo ...

  6. java之字符串转换

    参考http://how2j.cn/k/number-string/number-string-parse/317.html 数字转字符串 方法1: 使用String类的静态方法valueOf 方法2 ...

  7. 交互原型设计软件axure rp学习之路(一)

    开始学习之前,请一定要明白:Axure是个极其极其极其简单的软件.因为你所做的就是拖部件,打字,拖部件,打字,最多加个对齐.如果你能把axure当作word或者ppt来用,那你就学会了axure. A ...

  8. PHP注释-----PHPDOC

    用过IDE或看过其他源码的小伙伴们应该都见过类似下面这样的注释   /** * 递归获取所有游戏分类 * @param int $id * @return array */ 看得多了就大概知道了一些规 ...

  9. 最优化理论-Simplex线性规划

     Sorry,各位,现在这里面啥也没,之所以开这篇文章,是防止以后用得到:现在研究这些,总感觉有些不合适,本人还不到那个层次:如果之后有机会继续研究simplex-线性规划问题,再回来参考下面的链接进 ...

  10. uoj#278. 【UTR #2】题目排列顺序(拓扑排序)

    传送门 对于每一个位置\(i\)来说,上一个和它的\(f_i\)相同的点一定比它大,我们从上一个\(f_i\)和它相同的点向它连边.第一个\(f_i-1\)出现的位置一定比它小,把它向那个位置连边. ...