File类 详解!

package cn.zhoucufeng; import java.io.File; import java.io.IOException; import java.util.Arrays; import java.util.Iterator; import java.util.List; /* * File 类 ?-----做用 * * 1.对操做系统中的文件进行操做! * * 2.File类的静态成员变量 * 1.pathSeparator [;] 2.separator[\] * * 3.构造方法 * 1. * * * 4.主要功能 * 建立、删除、判断、获取! * * 5.便利方式? * 1.遍历目录获取list * 2.递归便利一个目录下的全部文件! * * 6.文件过滤器? * * */
public class FileDemo { public static void main(String[] args) throws IOException { pathSeparatorDemo(); //1.File 静态方法,不用new。直接调用!
        function();                    //2.File 建立和删除功能!-------->会建立在本地电脑!
        newFile();                    //3.File构造方法
        runFile();                    //4.File获取功能 4
        runFile01();                //5.File判断功能 判断文件夹是否存在? 是什么路径? // bianList(); //6.便利目录获取1.(list)获取 2.加强for循环 3.迭代方式!
        File dir=new File("c:\\windows"); // getAllDir(dir); //7.递归便利 目录下的文件(夹)
        System.out.println("============"); fileDemo(); //8.文件过滤器【能够根据须要,只获取知足条件】
 } private static void fileDemo() { File a1=new File("c:\\windows"); File []a1Arr=a1.listFiles(new MyFilter());        //打印Windows下全部带 EXE的文件 
        for(File f:a1Arr){ System.out.println(f); } } private static void getAllDir(File dir) {            //递归!本身调用本身!
 File []fileArr=dir.listFiles();                    //调用方法listFiles()对目录,dir进行遍历
        
        for(File f:fileArr)                                //加强for循环 
 { if (f.isDirectory())                        // 判断变量f表示的路径是否是文件夹
 { getAllDir(f); // 是一个目录,就要去遍历这个目录 // 继续调用getAllDir,传递他目录
            }else { System.out.println(f); } } } private static void bianList() { File a1=new File("c:\\windows"); String [] arr=a1.list();                                //获取目录下的文件以及文件夹!
        List<String> li = Arrays.asList(arr);                    //数组转换成ArrayList!
        
/* for (Iterator it = li.iterator(); it.hasNext();) { //迭代方式获取 文件 String string = (String) it.next(); System.err.println(string); }*/
/* for (String string : arr) { //加强for循环方式! System.out.println(string); }*/ System.out.println(li); //获取目录下的文件以及文件夹!直接输出
 } private static void runFile01() {            //         File a1=new File("c:\\windows\\addins\\FXSEXT.ecf"); boolean b=a1.exists();                    //判断文件是否存在
        boolean c=a1.isAbsolute();                //判断是不是文件夹(绝对路径)!
        boolean d=a1.isDirectory();                //判断是不是文件夹(路径)
 System.out.println(c); System.out.println(d); System.out.println(b); } //3.File的构造方法!
    private static void newFile() { File a1=new File("d:"); System.out.println(a1); File partent=new File("d:");            //设置父亲
        File file=new File(partent,"game");        //经过父亲获取 子级目录
        System.out.println(file);                //输出 d:\game
 File a3=new File("d:","game");             //注意 这里是中间加了一个"," ! 双引号中加逗号
        System.out.println(a3);                    //输出 d:\game
 } //1.File的静态方法 [pathSeparator]
    public static void pathSeparatorDemo(){ String a1=File.pathSeparator;            //用 String 定义!
        System.out.println(a1);                 //打印 [;]
        String a2=File.separator; System.out.println(a2); //打印 [\]
 } //2.File 建立和删除功能!-------->会建立在本地电脑!
    public static void function() throws IOException{ //1.建立文件 createNewFile
        File file=new File("d:\\helloworld.file"); boolean a1=file.createNewFile(); System.out.println(a1); //2.建立单级文件 mkdir
        File file01=new File("d:\\helloworld\\set"); boolean a2=file01.mkdir(); System.out.println(a2); //3.建立多级文件 mkdirs
        File file02=new File("d:\\game\\youyi\\cf2.0"); boolean a3=file02.mkdirs(); System.out.println(a3); //4.删除,不通过回收站!delete
        File file03=new File("d:\\你好"); boolean a4=file03.delete(); System.out.println(a4); } public static void runFile(){                        //4.File的主要功能!获取4种!
 File a1=new File("c:\\windows\\addins\\FXSEXT.ecf"); String name=a1.getName();                        //获取路径最后部分的名字
        long num=a1.length();                            //文件的字节数!
        File path=a1.getAbsoluteFile();                    //获取文件的绝对路径 
        File parent=a1.getParentFile();                    //获取文件的父路径 
 System.out.println("getName:获取路径最后部分的名字"+name); System.out.println("length:文件的字节数 "+num); System.out.println("获取文件的绝对路径    "+path); System.out.println("获取文件的父路径    "+parent); } } package cn.zhoucufeng; import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; public class MyFilter implements FileFilter { public boolean accept(File pathname) { return pathname.getName().endsWith(".exe"); } 最下面的类 MyFile 须要新建,而且要和FileDemo在同一包下!
相关文章
相关标签/搜索