Java输入输出(1)--文件

  • Java的IO通过java.io包下的类和接口来支持
  • 输入、输出两种IO流又可分为字节流和字符流两大类
  • Java的IO流使用了一种装饰器设计模式,将IO流分成底层节点流和上层处理流。
  • Java 7 在java.nio及其子包下提供了全新的API,称为NIO 2

1、File类 :使用文件路径字符串来创建File实例 (相对路径或绝对路径)

  • 文件名相关的方法:获得File对象的文件名、路径名、绝对路径、父目录、重命名本目录等
  • 文件检测相关的方法:判断File对象对应的文件/目录是否存在、是否可读写、是文件or目录、是否为绝对路径等
  • 文件信息相关的方法:返回文件最后修改时间、文件内容长度
  • 文件操作相关的方法:创建、删除文件、创建临时文件等
  • 目录操作相关的方法:创建目录、列出子文件名和路径名、列出系统所有根路径等
    Windows路径为“\”,与转义符相同,需要用“\”表示,也可直接用“/”,Linux下为“/”

2、文件过滤器

File类的list()方法可接收一个FilenameFilter参数,通过该参数可以只列出符合条件的文件

FilenameFilter接口包含了一个accept(File dir, String name)方法,该方法将依次对指定File的子目录或文件进行迭代,返回true或false

FilenameFilter接口内只有一个抽象方法accpet(),因此该接口也是一个函数式接口,可使用Lambda表达式创建实现该接口的对象

public class FilenameFilterTest
{
    public static void main(String[] args)
    {
        File file = new File(".");
        String [] nameList = file.list((dir, name) -> name.endWith(".java") || new File(name).isDirectory());
        for(String name : nameList)
        {
            System.out.println(name);//将输出所有.java结尾的文件及文件夹
        }
    }
}

你可能感兴趣的:(Java输入输出(1)--文件)