File

1.File类的概述和构造方法

  1.学习IO的目的就是处理电脑磁盘上的各种文件(文本,音频,视频),所有的程序都是加载带内存中进行的

     而java的IO类可以完成内存和磁盘的数据交换功能,即通过io类把磁盘上的文件加载到内存中进行程序的处理

      就是对文件的  增 删 改 查  File类操作文件的目的就是,我输出的结果和想要的内容可以永久的保存

  2.File更应该叫做一个路径,文件路径或者文件夹路径

  3.路径分为绝对路径和相对路径

  4.绝对路径是一个固定的路径,从盘符开始D:\java\2.java基础\课件视频\day19\video

  5.相对路径相对于某个位置,在eclipse下是指当前项目下,dos在指的当前路径     光标前的路径  就是鼠标可以选择到哪里

 

2.File 的构造方法

  * File(String pathname):根据一个路径得到File对象

  * File(String parent, String child):根据一个目录和一个子文件/目录得到File对象

  * File(File parent, String child):根据一个父File对象和一个子文件/目录得到

  

 1 /*
 2      * 在实际开发过程中,如果用到了绝对路径,    应该使用下面这种方法
 3      * parent表示路径,child表示文件名
 4      * 
 5        *  根据一个父File对象和一个子文件/目录得到File对象 
 6      *    封装成File对象这样更好的取使用file类里面的方法。
 7      */
 8         String parent = "F:\\基础课程\\day01\\photo";
 9         String child = "jvm.png";
10         File file = new File(parent,child);
11         boolean b = file.exists();
12         System.out.println(b);
13         
14         
15      //根据一个目录和一个子文件/目录得到File对象
16         String parent = "F:\\基础课程\\day01";
17         String child = "photo\\jvm.png";
18         File file = new File(parent,child);
19         boolean b = file.exists();
20         System.out.println(b);


      //创建一个文件对象
      //根据一个路径得到File对象
       File file1 = new File("C:\\a.txt");

 

    还有 getAbsolutePath()方法和 getAbsoluteFile()方法

  

      //创建一个文件对象
     File file1 = new File("C:\\a.txt"); //返回的是文件类型,还可以继续使用file类中的各个方法 File file = file1.getAbsoluteFile(); System.out.println(file);  
      //输出结果为 C:\a.txt
//返回的是字符串类型,可以像字符串一样进行操作 String str = file1.getAbsolutePath(); System.out.println(str);
      //输出结果为 C:\a.txt

 


 

 3.File的创建功能

   createNewFile():创建文件 如果存在这样的文件,就不创建了

   mkdir():创建文件夹 如果存在这样的文件夹,就不创建了

  mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来

   

 1          File file1 = new File("C:\\a.txt");
 2         //创建指定文件夹,如果没有父系文件夹,则会创建出父文件夹
 3         boolean b = file.mkdirs();
 4         System.out.println(b);
 5     
 6         File file1 = new File("C:\\a.txt");
 7         //创建一个指定文件夹
 8         boolean a = file.mkdir();
 9         System.out.println(a);
10         
11 
12         File file1 = new File("C:\\a.txt");
13         //创建指定文件
14         boolean a = file.createNewFile();
15         System.out.println(a);
16     
17
                         //(这就是相对路径)                    
        File file = new File("\\a.txt");
        //如果你创建文件或者文件夹忘了写盘符路径,
        //那么,默认在项目路径下。 可以是相对路径
        boolean b = file.createNewFile();

 

 

4.File类的删除和重命名功能

 

   renameTo(File dest):把文件重命名为指定的文件路径

  delete():删除文件或者文件夹

  * B:重命名注意事项

  * 如果路径名相同,就是改名。

  * 如果路径名不同,就是改名并剪切。

  * C:删除注意事项:

  * Java中的删除不走回收站。

  * 要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹

 

  

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

12 //删除指定文件 13 File file = new File("v"); 14 boolean b = file.createNewFile(); 15 System.out.println(b); 16 boolean a = file.delete(); 17 System.out.println(a); 18 19 //如果路径不同,就是改名加剪切 20 File file = new File("v"); 21 // boolean b = file.createNewFile(); 22 File f = new File("src\\jh_day\\a"); 23 boolean b = file.renameTo(f); 24 System.out.println(b); 25 26 //renameTo 改名,把文件夹重命名为指定的文件路径 27 File file = new File("a"); 28 File f = new File("v"); 29 boolean a = file.renameTo(f); 30 System.out.println(a);

 

5.File类的判断功能 

  isDirectory():判断是否是目录

  isFile():判断是否是文件

  exists():判断是否存在

  canRead():判断是否可读

  canWrite():判断是否可写

  isHidden():判断是否隐藏

 1         //判断该文件是否为目录文件
 2         File file = new File("D:\\");
 3         boolean b = file.isDirectory();
 4         System.out.println(b);
 5         
 6         //判断文件是否为文件
 7         boolean b1 = file.isFile();
 8         System.out.println(b1);
 9         
10         //判断是否存在
11         boolean b2 = file.exists();
12         System.out.println(b2);
13         
14         //判断文件是否可读
15         boolean b3 = file.canRead();
16         System.out.println(b3);
17         
18         //判断文件是否可写
19         boolean b4 = file.canWrite();
20         System.out.println(b4);
21         
22         //判断是否是隐藏文件
23         boolean b5 = file.isHidden();
24         System.out.println(b5);

  

6.File类的获取功能

  String getAbsolutePath():获取绝对路径 绝对

  String getPath():获取路径

  String getName():获取名称

  long length():获取长度。字节数

  long lastModified():获取最后一次的修改时间,毫秒值

  String[] list():获取指定目录下的所有文件或者文件夹的名称数组

  File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组

 1         File file = new File("F:\\a\\ccc.txt");
 2         //获取绝对路径
 3         String str = file.getAbsolutePath();
 4         System.out.println("绝对路径是"+str);
 5         
 6         //获取路径
 7         String str1 = file.getPath();
 8         System.out.println("路径是"+str1);
 9         
10         //获取名称
11         String str2 = file.getName();
12         System.out.println("名称是"+str2);
13         
14         //获取长度
15         long l = file.length();
16         System.out.println("长度是"+l);
17         
18         //获取最后一次摁键修改的时间    毫秒值
19         long l1 = file.lastModified();
20         System.out.println("时间是"+ l1);
21         
22         //获取指定目录下的所有文件或者文件夹的名称数组
23         String[] strs = file.list();
24         System.out.println(strs);
25         
26         //获取指定目录下的所有文件或者文件夹的File数组 
27         File[] files = file.listFiles();
28         System.out.println(files);

 

7.文件名称过滤器的概述及是使用

 

 1     File dir= new File("F:\\a");
 2         File[] files = dir.listFiles();
 3         for (File file : files) {
 4             if (file.isFile() && file.getName().endsWith(".java")) {
 5                 System.out.println(file.getName());
 6             }
 7         }
 8         
 9         System.out.println("++++++++++++++++++++++++");
10         
11         String []arr = dir.list();
12         for (String s : arr) {
13             if (s.endsWith(".txt")) {
14                 System.out.println(s);
15             }
16         }

 

posted @ 2019-08-23 12:54  Ascca  阅读(214)  评论(0编辑  收藏  举报