欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-13 17:08:29
...
  • 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结尾的文件及文件夹
        }
    }
}