File类与IO流

一、File类与IO流

  1. 数组、集合等内容都是把数据放在内存里面,一旦关机或者断电,数据就会立刻从内存里面消失。而IO主要讲文件的传输(输入和输出),把内存里面的数据持久化到硬盘上,如.txt .avi .png等,或者把文件传输到内存里面
  2. 为什么要先讲File类,因为你无论是输入还是输出,总得有个地点吧?从哪里输入?输出到哪里?硬盘或者是内存里都得有一个端点吧,从哪里读进来,或者写出到哪里。java中万事万物皆对象。有了File类,File类不仅可以充当一个文件,还可以充当一个目录结构-----文件夹

一、File类

  1. java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关
  2. File能新建、删除、重命名文件和目录,但File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
  3. 想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。
  4. File对象可以作为参数传递给流的构造器

File的构造器,仅仅是在内存层面创建了一个文件对象或者目录对象,不一定需要在对应硬盘里面有这个文件或者目录。

public class FileTest {
    @Test
    public void test1() {
        File file = new File("hell.txt");// 相对路径是相对模块来说的
        File file1 = new File("E:\\LearningData\\Backstage\\Java\\javaBase\\PDF\\h.txt");
        System.out.println(file);/*【不需要对应硬盘里面有这个文件或者目录,仅仅是一个是内存层面的对象而已】*/
        System.out.println(file1);/*【不需要对应硬盘里面有这个文件或者目录,仅仅是一个是内存层面的对象而已】*/
    }
}

// 输出结果
hell.txt
E:\LearningData\Backstage\Java\javaBase\PDF\h.txt
// 总结:
    1. java是面向对象语言,万事万物都是对象
    2. File类先在内存层面创建一个文件对象,通过这个文件对象去实现文件的创建、删除、重命名等。
    【OOP,程序员从执行者变成了指挥者。把这个对象想象成一个人,你自己可以吃饭,睡觉,学习。那么file对象它自己也可以创建、删除、重命名等】

File类常用api:

  1. public String getAbsolutePath():获取绝对路径
  2. public String getPath():获取路径
  3. public String getName():获取名称
  4. public String getParent():获取上层文件目录路径。若无,返回null
  5. public long length():获取文件长度(即:字节数)。不能获取目录的长度。
  6. public long lastModified():获取最后一次的修改时间,毫秒值
  7. public boolean isDirectory():判断是否是文件目录
  8. public boolean isFile():判断是否是文件
  9. public boolean exists():判断是否存在

File类的创建功能:

  1. public boolean createNewFile():创建文件。若文件存在,则不创建,返回false

  2. public boolean mkdir():创建文件目录。如果此文件目录存在,就不创建了。如果此文件目录的上层目录不存在,也不创建。

  3. public boolean mkdirs():创建文件目录。如果上层文件目录不存在,一并创建

    • 注意事项:

      如果你创建文件或者文件目录没有写盘符路径,那么,默认在项目路径下。

  4. public boolean delete():删除文件或者文件夹

    • 删除注意事项:
      Java中的删除不走回收站。
      要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录

mkdir方法和mkdirs()方法的区别:

其实非常类似于linux中:mkdir 目录 与 mkdir -p 多级目录

File类总结:

posted @ 2020-09-06 10:31  宇宙砍柴人  阅读(192)  评论(0编辑  收藏  举报