• 学习Java的第13天


    学习Java的第13天

    1.File类的使用

    1. file类的理解

      • 指文件和文件目录路径。
      • File 不能访问文件内容本身。 如果需要访问文件内容本身,则需要使用输入/输出流。
      • 文件对象表示的是内存中的,是虚拟的。
      • File对象可以作为参数传递给流的构造器
    2. 常用构造器

      • public File(String pathname) 参数为文件的绝对路径和相对路径
        • 绝对路径:从盘符开始的路径
        • 相对路径:相对于某个位置开始
      • public File(String parent,String child)
        • 以parent为父路径,child为子路径创建File对象
      • public File(File parent,String child)
        • 根据一个父File对象和子文件路径创建File对象
    3. 常用方法

      public String getAbsolutePath()    //获取绝对路径
      public String getPath()   ///获取路径 
      public String getName()		//获取名称
      public String getParent() //获取上层文件目录路径。若无,返回null 
      public long length() //获取文件长度(即:字节数)。不能获取目录的长度。 
      public long lastModified() //获取最后一次的修改时间,毫秒值
      public String[] list() //获取指定目录下的所有文件或者文件目录的名称数组 
      public File[] listFiles() //获取指定目录下的所有文件或者文件目录的File数组 
      public boolean renameTo(File dest)//将文件一的名字改成文件名字二 文件二存在 文件一不存在 
      public boolean isDirectory()//判断是否是文件目录 
      public boolean isFile() //判断是否是文件
      public boolean exists()//判断是否存在
      public boolean canRead()//判断是否可读
      public boolean canWrite()//判断是否可写 
      public boolean isHidden() //判断是否隐藏
      public boolean createNewFile() //创建文件 如果文件存在就不创建
      public boolean mkdir() //创建文件目录 目录存在就不创建 上层目录不存在也不创建
      public boolean mkdirs()//创建文件目录 目录存在就不创建 上层目录不存在 也将上层目录一起创建
      public boolean delete()//删除文件或者文件夹 要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录
      //当硬盘当中一个真实的文件和目录存在时,创建文件对象,文件大小等各个属性也会显性的根据物理文件赋值
      
      
    4. 练习

      • 利用File构造器,new 一个文件目录file
        1)在其中创建多个文件和目录
        2)编写方法,实现删除file中指定文件的操作
        
         public static void main(String[] args) throws IOException {
              File file1 = new File("E:\Tools\hi.txt");
              //下面展示一下如何创建一个文件和文件目录 1.new一个文件或者目录对象 这个是在虚拟内存的
              File file2 = new File("E:\Tools","haha.txt");
              File file3 = new File("E:\Tools","haha1");
              //2.通过create方法在物理磁盘中创建文件和目录
              file2.createNewFile();
              file1.createNewFile();
              file3.mkdir();
              file3.delete();
              file1.delete();
              file2.delete();
          }
      
      • 判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称

         @Test
            public void test1(){
                File srcfile = new File("e:\Tools\code");
                //1.创建一个当前文件所在的路径
                String[] fileNames = srcfile.list();
                //2.用当前目录下的文件名存放到字符数组当中
                for (String fileName : fileNames){
                    if (fileName.endsWith(".jpg")){
                        System.out.println(fileName);
                    }
                }
            }
        
      • 3. 遍历指定目录所有文件名称,包括子文件目录中的文件。
        拓展1:并计算指定目录占用空间的大小拓展
        2:删除指定文件目录及其下的所有文件
        
        public class Work {
            @Test
            public  void method(){
                //1.创建目录对象
                File dir = new File("C:\Users\MSI\Documents\雷电模拟器");
                //2.打印目录的子文件
                printSubFile(dir);
            }
            public void printSubFile(File dir){
                //1.dir目录中的文件存储到File文件数组中
                File[] subfiles = dir.listFiles();
                //2.遍历该文件数组
                for (File file :subfiles){
                    //3.判断该文件是否是文件目录 是递归 否删除
                    if (file.isDirectory()){
                        printSubFile(file);
                    }else
                        System.out.println(file.getAbsoluteFile());
                }
                for (File file :subfiles){
                    //3.判断该文件是否是文件目录 是递归 否删除
                    if (file.isDirectory()){
                        file.delete();
                    }
                }
            }
        }
        
        
  • 相关阅读:
    PRelu和一些激活函数
    一个编程入门参考网站
    GPT/Bert/Attention等一些总结
    [Go] struct
    [Typescript Challenges] 15. Medium Get return type of function
    [GO] Pass by reference
    [Go] Error
    [Go] Defer, panic, recover
    [Go] Method
    [Go] Pointer
  • 原文地址:https://www.cnblogs.com/wumingzhibei/p/12579520.html
Copyright © 2020-2023  润新知