java.io

97 阅读2分钟

file的简单使用

使用 new File() 闯进新的文件

public class FileDomo1 {
    public static void main(String[] args) throws IOException {
        File f1 = new File("G:\\hhh.txt");
        Boolean flag = f1.createNewFile();//创建文件hhh.txt
        System.out.println(flag ? "创建成功" : "创建失败");
        File f2 = new File("G:\\hhh");
        f2.mkdir();//创建文件夹,文件夹名称hhh,
        File f3 = new File(f2, "a.txt");
        f3.createNewFile();//在hhh文件夹下创建a.txt文档
        File f4 = new File("G:\\hhh", "b.txt");
        f4.createNewFile();//在hhh文件夹下创建b.txt文档
    }
}
//File的具体方法要认真阅读ApI文档

renameTo(),将文件移动到另一个路径,并重命名

public class FileDemo2 {
    public static void main(String[] args) throws IOException {
        File file = new File("G:\\XXX\\作业\\第三章第五节异常处理.zip");
        File file1 = new File("G:\\newname.zip");
        file.renameTo(file1);
        //G:\XXX\作业\第三章第五节异常处理.zip移动到G:\,并重命名为newname.zip
    }
}

使用 File 下的 listFIles( ) 将目录转换成一个File数组,进行文件遍历

package file.filetest;

import java.io.File;

public class FileDemo3 {
    public static void main(String[] args) {
        File file = new File("G:\\");
        File file1[]=file.listFiles();//使用listFIles将目录转换成一个File数组
        listFiles(file1);//传入静态方法
    }
    public static void listFiles(File[] files){//
        if (files!=null&&files.length>0){//判断传入的数组是否为空
            for (File file:files){//foreach循环
                if(file.isFile()){//判断是否是文件,
                    if(file.getName().endsWith(".txt")){//判断文件的名称是否以.txt结尾
                        System.out.println("找到了一个txt文件路径是:"+file.getPath());
                        //打印找到的txt文件
                    }
                }else {//如果不是文件,说明是一个文件夹,将文件夹中的File转换成数组,递归调用
                    //为了把所有的文件夹遍历一遍
                    listFiles(file.listFiles());
                }
            }
        }
    }
}

过滤器遍历文件夹

package file.filetest;

import java.io.File;
import java.io.FileFilter;

public class FileDemo4 {
    public static void main(String[] args) {
        File file = new File("G:\\");
        listFiles(file);//传入静态方法
    }

    public static void listFiles(File file) {//
        File file1[] = file.listFiles(new FileFilter() {//创建过滤器
            @Override
            public boolean accept(File pathname) {
                if (pathname.getPath().endsWith(".zip") || pathname.isDirectory())
                    return true;
                return false;
            }
        });
       if(file1!=null&&file1.length>0)
           for (File f:file1
                ) {
               if(f.isDirectory()){
                   listFiles(f);
               }else {
                   System.out.println("找到了一个zip压缩包"+f.getPath());
               }
           }
    }
}