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 }
  • 相关阅读:
    asp.net后台获取html控件的值
    asp.net自定义错误页面
    关于asp.net网站中web.config的配置
    在asp.net中如何使用Session
    Ubuntu 14.10 进入单用户模式
    原码,反码和补码
    利用位运算进行权限管理
    php redis扩展安装
    不同浏览器Cookie大小
    include和require的区别
  • 原文地址:https://www.cnblogs.com/hfumin/p/10247720.html
Copyright © 2011-2022 走看看