zoukankan      html  css  js  c++  java
  • java-File类

    1、File类的概述和构造方法
      * A:File类的概述
          * File更应该叫做一个路径
              * 文件路径或者文件夹路径  
              * 路径分为绝对路径和相对路径
              * 绝对路径是一个固定的路径,从盘符开始
              * 相对路径相对于某个位置,在eclipse下是指当前项目下。
      * B:构造方法
          * File(String pathname):根据一个路径得到File对象
          * File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
          * File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象

    2、File类的创建功能
      * A:创建功能
          * public boolean createNewFile():创建文件 如果存在这样的文件,就不创建了
          * public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了
          * public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来
       * 注意事项:
              * 如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。

     1 public class Demo {
     2 
     3     public static void main(String[] args) throws IOException {
     4         //demo1();
     5         File dir1 = new File("aaa");
     6         System.out.println(dir1.mkdir());
     7         
     8         File dir2 = new File("bbb.txt");                //这样写是可以的,文件夹也是可以有后缀的
     9         System.out.println(dir2.mkdir());
    10         
    11         File dir3 = new File("ccc\ddd");
    12         System.out.println(dir3.mkdirs());                 //创建多级目录
    13     }
    14 
    15     public static void demo1() throws IOException {
    16         File file = new File("yyy.txt");
    17         System.out.println(file.createNewFile());            //如果没有就创建,返回true
    18         
    19         File file2 = new File("zzz");
    20         System.out.println(file2.createNewFile());
    21     }
    22 
    23 }

    3、File类的重命名和删除功能
      * A:重命名和删除功能
          * public boolean renameTo(File dest):把文件重命名为指定的文件路径
          * public boolean delete():删除文件或者文件夹
      * B:重命名注意事项
          * 如果路径名相同,就是改名。
          * 如果路径名不同,就是改名并剪切。
      * C:删除注意事项:
          * Java中的删除不走回收站。
          * 要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹

     1 public class Demo {
     2 
     3     public static void main(String[] args) {
     4         //demo1();
     5         File file1 = new File("yyy.txt");
     6         System.out.println(file1.delete());
     7         
     8         File file2 = new File("aaa");
     9         System.out.println(file2.delete());
    10         
    11         File file3 = new File("ccc");                    //如果删除一个文件夹,那么文件夹必须是空的
    12         System.out.println(file3.delete());
    13     }
    14 
    15     public static void demo1() {
    16         File file1 = new File("ooo.txt");
    17         File file2 = new File("D:\xxx.txt");
    18         System.out.println(file1.renameTo(file2));
    19     }
    20 
    21 }

    4、File类的判断功能
      * A:判断功能
          * public boolean isDirectory():判断是否是目录
          * public boolean isFile():判断是否是文件
          * public boolean exists():判断是否存在
          * public boolean canRead():判断是否可读
          * public boolean canWrite():判断是否可写
          * public boolean isHidden():判断是否隐藏

     1 public class Demo {
     2 
     3     public static void main(String[] args) {
     4         //demo1();
     5         File file = new File("zzz");
     6         file.setReadable(false);
     7         System.out.println(file.canRead());             //windows系统认为所有的文件都是可读的
     8         file.setWritable(true);
     9         System.out.println(file.canWrite());             //windows系统可以设置为不可写
    10         
    11         File file2 = new File("aaa.txt");
    12         System.out.println(file2.isHidden());            //判断是否是隐藏文件
    13         System.out.println(file.isHidden());
    14     }
    15 
    16     public static void demo1() {
    17         File dir1 = new File("ccc");
    18         System.out.println(dir1.isDirectory());            //判断是否是文件夹
    19         
    20         File dir2 = new File("zzz");
    21         System.out.println(dir2.isDirectory());
    22         
    23         System.out.println(dir1.isFile());                //判断是否是文件
    24         System.out.println(dir2.isFile());
    25     }
    26 
    27 }

    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数组 

     1 public class Demo {
     2 
     3     public static void main(String[] args) {
     4         //demo1();
     5         File dir = new File("F:/双元课堂/day19/video");
     6         String[] arr = dir.list();                        //仅为了获取文件名
     7         
     8         for (String string : arr) {
     9             System.out.println(string);
    10         }
    11         
    12         File[] subFiles = dir.listFiles();
    13         
    14         for (File file : subFiles) {                    //获取文件对象
    15             System.out.println(file);
    16         }
    17      }
    18 
    19     public static void demo1() {
    20         File file1 = new File("ccc.txt");
    21         File file2 = new File("D:\双元课堂\day19\ccc.txt");
    22         //System.out.println(file1.getAbsolutePath());            //获取绝对路径
    23         //System.out.println(file2.getAbsolutePath());
    24         
    25         //System.out.println(file1.getPath());                    //获取构造方法中传入路径
    26         //System.out.println(file2.getPath());
    27         
    28 //        System.out.println(file1.getName());                    //获取文件或者文件的名字
    29 //        System.out.println(file2.getName());
    30 //        
    31 //        System.out.println(file1.length());
    32         
    33         Date d = new Date(file1.lastModified());                //文件的最后修改时间
    34         SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
    35         System.out.println(sdf.format(d));
    36     }
    37 
    38 }

    6、文件名称过滤器的概述及使用
      * A:文件名称过滤器的概述
          * public String[] list(FilenameFilter filter)
          * public File[] listFiles(FileFilter filter)
      * B:文件名称过滤器的使用
          * 需求:判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称

     1 public class Test {
     2 
     3     public static void main(String[] args) {
     4         File dir = new File("E:\");
     5         
     6 //        String[] arr = dir.list();                    //获取e盘下所有的文件或文件夹
     7 //        for (String string : arr) {
     8 //            if(string.endsWith(".jpg")) {
     9 //                System.out.println(string);
    10 //            }
    11 //        }
    12         
    13         /*File[] subFiles = dir.listFiles();            //获取e盘下所有的文件或文件夹对象
    14         
    15         for (File subFile : subFiles) {
    16             if(subFile.isFile() && subFile.getName().endsWith(".jpg")) {
    17                 System.out.println(subFile);
    18             }
    19         }*/
    20         
    21         String[] arr = dir.list(new FilenameFilter() {
    22             
    23             @Override
    24             public boolean accept(File dir, String name) {
    25                 //System.out.println(dir);
    26                 //System.out.println(name);
    27                 File file = new File(dir, name);
    28                 return file.isFile() && file.getName().endsWith(".jpg");
    29             }
    30         });
    31         
    32         for (String string : arr) {
    33             System.out.println(string);
    34         }
    35     }
    36 
    37 }
  • 相关阅读:
    流处理 —— Spark Streaming中的Window操作
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.8 提供带注解的限定符元数据
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.7 为自动检测组件提供作用域
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.6 给自动检测组件命名
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.5 在组件中定义bean的元数据
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.4 使用过滤器自定义扫描
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.3 自动检测类和注册bean的定义
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.2 元注解
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.1 @Component和深层的构造型注解
    Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10 类路径扫描和被管理的组件
  • 原文地址:https://www.cnblogs.com/hfumin/p/10247720.html
Copyright © 2011-2022 走看看