美文网首页
Java-File类

Java-File类

作者: 浮桥小麦 | 来源:发表于2017-06-20 16:34 被阅读53次
    NO.1 File类简单使用
    /**
             * File(String pathname):根据一个路径得到File对象
             * File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
             * File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象
             */
    
            //file类--路径
            //这个文件路径用的绝对路径
            File file = new File("/Users/jiangjun/Desktop/读书笔记代码-iOS");
            //检测这个文件是否存在
            boolean b =  file.exists();
            System.out.println(b);
    
    
            //接下来我们试试相对路径
            //我们创建了一个文件--tmack81
            File file1 = new File("com/company/tmack81");
            boolean b1 = file1.exists();
            System.out.println(b1);
    
            //2.根据父级、子级路径找文件
            String parent = "/Users/jiangjun/Desktop";
            String son = "读书笔记代码-iOS";
            File file2 = new File(parent,son);
            boolean b2 = file2.exists();
            System.out.println(b2);
    
           //3.把父级路径封装为一个File对象
            File parentFile = new File("/Users/jiangjun/Desktop");
            String son1 = "读书笔记代码-iOS";
            File file3 = new File(parentFile,son1);
            boolean b3 = file3.exists();
            System.out.println(b3);
    
        }
    
    NO.2 File类的创建功能
     /**
             * * A:创建功能
             * public boolean createNewFile():创建文件 如果存在这样的文件,就不创建了
             * public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了
             * public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来
             * B:案例演示
             * File类的创建功能
    
             * 注意事项:
             * 如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。
             * @throws IOException
             * */
    
            //1.创建文件--不用后缀也可以创建的
            File file = new File("tmac.txt");
            try {
                boolean b = file.createNewFile();//这里直接写会有异常,因为我们写的路径是无法创建的
                System.out.println(b);
            } catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println("1---------------");
            //2.创建文件夹
            File dir = new File("jj");
            boolean b1 = dir.mkdir();
            System.out.println(b1);
            System.out.println("2-----------------");
    
            //3.创建文件夹--如果父文件夹不存在,会帮你创建出来
            File dirs = new File("King/Tmac");
            boolean b2 = dirs.mkdirs();
            System.out.println(b2);
    
    NO.3 File类的重命名和删除功能
    /**
             * * A:重命名和删除功能
             * public boolean renameTo(File dest):把文件重命名为指定的文件路径
             * public boolean delete():删除文件或者文件夹
             * B:重命名注意事项
             * 如果路径名相同,就是改名。
             * 如果路径名不同,就是改名并剪切。
             * C:删除注意事项:
             * Java中的删除不走回收站。
             * 要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹
             */
    
            //1.重命名文件为指定文件路径
            //路径相同的情况下,就相当于重命名
             File file = new File("tmac.txt");
            System.out.println(file.exists());
            //现在我们的tmac.txt是存在的,我们给这个换个名
            File file1 = new File("ooo.txt");
            //改名
            System.out.println(file.renameTo(file1));
    
            //如果file1和file的路径是不同的,那么就相当于剪切了
            System.out.println("1------------------");
    
            //2.删除文件或者文件夹
             //直接将上面的ooo.txt删除了
            System.out.println(file1.delete());
    
    
    NO.4 File类的判断功能
    /**
     A:判断功能
            * public boolean isDirectory():判断是否是目录
            * public boolean isFile():判断是否是文件
            * public boolean exists():判断是否存在
            * public boolean canRead():判断是否可读
            * public boolean canWrite():判断是否可写
            * public boolean isHidden():判断是否隐藏
        * B:案例演示
            * File类的判断功能
         */
        public static void main(String[] args) {
            //demo1();
            File file = new File("zzz");
            file.setReadable(false);
            System.out.println(file.canRead());             //windows系统认为所有的文件都是可读的
            file.setWritable(true);
            System.out.println(file.canWrite());            //windows系统可以设置为不可写
            
            File file2 = new File("aaa.txt");
            System.out.println(file2.isHidden());           //判断是否是隐藏文件
            System.out.println(file.isHidden());
        }
    
        public static void demo1() {
            File dir1 = new File("ccc");
            System.out.println(dir1.isDirectory());         //判断是否是文件夹
            
            File dir2 = new File("zzz");
            System.out.println(dir2.isDirectory());
            
            System.out.println(dir1.isFile());              //判断是否是文件
            System.out.println(dir2.isFile());
        }
    }
    
    
    NO.5 File的获取功能
    /**
         * * A:获取功能
            * public String getAbsolutePath():获取绝对路径
            * public String getPath():获取路径
            * public String getName():获取名称
            * public long length():获取长度。字节数
            * public long lastModified():获取最后一次的修改时间,毫秒值
            * public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
            * public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组 
         */
        public static void main(String[] args) {
            //demo1();
            File dir = new File("F:/双元课堂/day19/video");
            String[] arr = dir.list();                      //仅为了获取文件名
            
            for (String string : arr) {
                System.out.println(string);
            }
            
            File[] subFiles = dir.listFiles();
            
            for (File file : subFiles) {                    //获取文件对象
                System.out.println(file);
            }
        }
    
        public static void demo1() {
            File file1 = new File("ccc.txt");
            File file2 = new File("D:\\双元课堂\\day19\\ccc.txt");
            //System.out.println(file1.getAbsolutePath());          //获取绝对路径
            //System.out.println(file2.getAbsolutePath());
            
            //System.out.println(file1.getPath());                  //获取构造方法中传入路径
            //System.out.println(file2.getPath());
            
    //      System.out.println(file1.getName());                    //获取文件或者文件的名字
    //      System.out.println(file2.getName());
    //      
    //      System.out.println(file1.length());
            
            Date d = new Date(file1.lastModified());                //文件的最后修改时间
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
            System.out.println(sdf.format(d));
        }
    }
    
    
    NO.6 File类练习(一)
      //需求:判断桌面是否有后缀名为.png的文件,如果有,输出该文件名
             //1.把我们的桌面路径封装为一个File类
            File dir = new File("/Users/jiangjun/Desktop");
            //2.获取桌面上所有的文件或者文件夹
           //第一种方法
    //        String[] arr = dir.list();
    //        //遍历这个数组
    //        for (String str : arr){
    //            //判断是否以.png结尾
    //            if (str.endsWith(".png")){
    //                System.out.println(str);
    //            }
    //
    //        }
    
           //第二种方法
            File[] subFiles = dir.listFiles();//获取桌面所有文件和文件夹的file对象
            //遍历
            for (File subFile : subFiles){
                 //isFile():方法判断这个是不是文件
                if (subFile.isFile() && subFile.getName().endsWith(".png")){
                    System.out.println(subFile);
                }
      }
    
    
    
    NO.7 File类文件名过滤器的概述和使用
    /**
         * @param args
         * * A:案例演示
         * 需求:判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
         */
        public static void main(String[] args) {
            File dir = new File("E:\\");
            
    //      String[] arr = dir.list();                  //获取e盘下所有的文件或文件夹
    //      for (String string : arr) {
    //          if(string.endsWith(".jpg")) {
    //              System.out.println(string);
    //          }
    //      }
            
            /*File[] subFiles = dir.listFiles();            //获取e盘下所有的文件或文件夹对象
            
            for (File subFile : subFiles) {
                if(subFile.isFile() && subFile.getName().endsWith(".jpg")) {
                    System.out.println(subFile);
                }
            }*/
            
            String[] arr = dir.list(new FilenameFilter() {
                
                @Override
                public boolean accept(File dir, String name) {
                    //System.out.println(dir);
                    //System.out.println(name);
                    File file = new File(dir, name);
                    return file.isFile() && file.getName().endsWith(".jpg");
                }
            });
            
            for (String string : arr) {
                System.out.println(string);
            }
        }
    }
    
    

    相关文章

      网友评论

          本文标题:Java-File类

          本文链接:https://www.haomeiwen.com/subject/xdnoqxtx.html