• java File类


                  今天我要总结一下java File类。这个是一个很重要的类。

                  首先是我画的思维导图。

                  

         还写了一些自己写的代码。

          

    /**
     * Date   :  2017/6/24
     * Author :  Hsj
     * Description :
     */
    public class Demo {
    
        /**
         * File(pathname)表示文件或文件夹路径
         * File(String parent,child);
         * File(File parent,child);
         */
        @Test
        public void fun() {
            //第一种构造方法
            File file = new File("F:\BaiduYunDownload\01、第一阶段java基础(更多视频教程 www.pcsky.wang)\day19\day19\video\001_今日内容.avi");
            System.out.println("文件路径是否存在:" + file.exists());
            File file2 = new File("ddd.txt");//项目文件夹
            System.out.println(file2.exists());
    
            //第二种构造方法
            String parent = "F:\BaiduYunDownload\01、第一阶段java基础(更多视频教程 www.pcsky.wang)\day19\day19\video";
            String child = "001_今日内容.avi";
            File file3 = new File(parent, child);
            System.out.println(file3.exists());
    
            //第三种构造函数
            File file4 = new File("F:\BaiduYunDownload\01、第一阶段java基础(更多视频教程 www.pcsky.wang)\day19\day19\video");//封装成File
            String child2 = "001_今日内容.avi";
            File file5 = new File(file4, child2);
            System.out.println(file5.exists());
    
    
        }
    
        /**
         * 创建文件
         * createNewFile();//创建文件夹,有就创建返回true,没有就放回false
         * mkdir();创建文件夹
         * mkdirs()创建文件夹和父文件夹
         */
        @Test
        public void fun2() {
          /*  File file = new File("yyy.txt");
            try {
                boolean newFile = file.createNewFile();
                System.out.println(newFile);
            } catch (IOException e) {
                e.printStackTrace();
            }*/
    
           /* File file2 = new File("make");
            boolean mkdir = file2.mkdir();
            System.out.println(mkdir);*/
    
            File file3 = new File("make//make//m");
            boolean mkdirs = file3.mkdirs();
            System.out.println(mkdirs);
    
        }
    
        /**
         * renameTo()重命名或者剪切
         * delete()删除文件或者文件夹
         * 文件夹中不能包含文件夹或者文件
         * 文件夹中不能包含文件夹或者文件
         */
        @Test
        public void fun3() {
           /* File file = new File("make//make/m/xx.txt");
            File file2 = new File("ddd.txt");
            boolean b = file2.renameTo(file);//完成文件的重命名或者指定盘符剪切
            System.out.println(b);*/
    /*
            File file3=new File("yyy.txt");
            file3.delete();*/
    
            File file4 = new File("make//make//m/xx.txt");
            boolean delete = file4.delete();
            System.out.println(delete);
        }
    
        /**
         * 判断功能
         */
        @Test
        public void fun4() {
            File file = new File("zzz.txt");
    
           /* file.setWritable(false);//设置不可写
            System.out.println(file.canWrite());*/
           /* file.setExecutable(false);*/
    
           /* try {
                file.createNewFile();创建文件
            } catch (IOException e) {
                e.printStackTrace();
            }*/
        }
    
        /**
         * 获取功能
         * public String getAbsolutePath():获取绝对路径
         * public String getPath():获取路径
         * public String getName():获取名称
         * public long length():获取长度。字节数
         * public long lastModified():获取最后一次的修改时间,毫秒值
         * public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
         * public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组
         */
        @Test
        public void fun5() {
    /*
             File file=new File("zzz.txt");
             System.out.println(file.getAbsoluteFile());///获取绝对路径
             System.out.println(file.getParent());//只能用于路径,获取父路径
             System.out.println(file.getPath());//获取构造函数传过来的路径
             System.out.println(file.getName());//获取文件名
             System.out.println(file.length());
             System.out.println(file.lastModified());//获取最后一次修改的时间毫秒值
    
             Date d=new Date(file.lastModified());
             SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
             System.out.println(sdf.format(d));*/
    
            /* File file=new File("C:\Users\ABC\Desktop\javaWork\Struts2\Struts2MavenDemo3");
             String [] fileList=file.list();
             for (String s:fileList){
                 System.out.println(s);
             }
    
             System.out.println(file.getAbsoluteFile());*/
    
        }
    
        public static void isSuffixJpg(File file, List<String> mlist) {
            File[] fileList = file.listFiles();//获取file
            if (fileList != null) {
                for (File f : fileList) {
                    if (f.isDirectory()) {
                        isSuffixJpg(f, mlist);
                    } else {
                        String fileName = f.getName();
                        if (fileName.endsWith(".jpg"))
                            mlist.add(f.getName());
                    }
                }
            }
    
        }
    
        @Test
        public void fun6() {
            File file = new File("F:\我的文件\我的图片\TU");
            List<String> list = new ArrayList<>();
            isSuffixJpg(file, list);
            System.out.println(list.size());
            for (String s : list) {
                System.out.println(s);
            }
        }
    
        //遍历指定文件夹下的文件
        @Test
        public void fun7() {
            File file = new File("F://");
            String[] sList = file.list(new FilenameFilter() {
                @Override
                public boolean accept(File dir, String name) {
                    System.out.println(dir.getName());
                    System.out.println();
                    return true;
                }
            });
    
            for (String s:sList) {
                System.out.println(s);
            }
        }
    
        @Test
        public void fun8(){
            List<String> sList=new ArrayList<>();
            File file=new File("F:\我的文件\我的图片\TU");
            isSuffix(file,sList);
            for (String s:sList
                 ) {
                System.out.println(s);
            }
        }
    
    
        public static void isSuffix(File file,List<String> mlist){
            File[] files = file.listFiles();
            for (File f:files){
                if(f.isDirectory()){
                    isSuffix(f,mlist);
                }
                else {
                    String name = f.getName();
                    if(name.endsWith(".jpg")){
                        mlist.add(name);
                    }
                }
            }
    
        }
    
        @Test
        public  void fun9(){
            File file= new File("D://");
            String [] sList=file.list(new FilenameFilter() {
                @Override
                public boolean accept(File dir, String name) {
                    /*System.out.println(dir);//封装的目录D盘
                    System.out.println(name);//目录下文件的名字*/
                    File file2=new File(dir,name);
                    return file2.isFile()&&file2.getName().endsWith(".jpg");
                }
            });
    
            for (String s:sList){
                System.out.println(s);
            }
        }
    
        @Test
        public void  fun10(){
            File file=new File("D://");
            File [] files=file.listFiles(new FileFilter() {
                @Override
                public boolean accept(File pathname) {
                    return true;
                }
            });
            
            for (File f:files){
                System.out.println(f.getName());
            }
    
        }
    }
    

      

                  

  • 相关阅读:
    JS实现继承的几种方式
    网站与域名知识扫盲-符号标签大全
    网站与域名知识扫盲
    第八届蓝桥杯决赛 发现环
    1014. Waiting in Line (模拟)
    第八届蓝桥杯决赛 对局匹配
    nvm安装nodejs(安装在非系统盘内)
    jquery datatable 获取当前分页的数据
    高德地图--轨迹回放(一)
    html5shiv.js和respond.js引入不起作用解决
  • 原文地址:https://www.cnblogs.com/bingshu/p/7100914.html
Copyright © 2020-2023  润新知