• 32 文件IO流(一)


    32 文件IO流(一)

    1.解决了什么样子的问题

    如果你想在网页上显示节日快乐信息,你每定义一次就打印一次会很麻烦,所以文件IO流的产生使得改信息只需要改里面的文件即可

    2.File文件

    2.1核心

    ​ 实例化的对象可以用来指代文件与文件夹

    2.2 路径(文件所在地址)

    ​ A.相对路径()

    ​ 相对路径指的相对于给定的目录的路径

    ​ 如:day01/abc.txt

    ​ B.绝对路径(带根盘符的)

    ​ 如:C:Users我的天空Desktop

    ​ 具体如何书写等有时间再去自己研究,现阶段够用了

    3.重写Object类的常用方法(clone未重写)

    3.1 File类中的toString方法

    public String toString() {
            return getPath();
        }
    //返回的是提供构造方法初始化的地址    
    

    3.2 File中的equals方法(public boolean equals(Object obj))

    调用equals方法判断两个对象是否相等,都先要判断是否为调用者的对象的实例化子类,若是则调用compareTo方法(必须实现Comparable接口)

    //若是子类,且地址一样,必然返回true,否则(不为零的数字==0)必然返回false,
    //equals源码如下:
     public boolean equals(Object obj) {
            if ((obj != null) && (obj instanceof File)) {
                return compareTo((File)obj) == 0;
            }
            return false;
        }
     //Compare two abstract pathnames lexicographically
    按字典顺序比较两个抽象路径名(compareTo方法调用compare方法的解释)
    //字典顺序是从每个字符串的首字母进行英文字母表顺序的比较,
    //如果第一个字符串的首字母在英文字母表中顺序靠前,则返回次序的差值(负数)
    //如果第一个字符串的首字母在英文字母表中顺序靠后,则返回次序的差值(正数),
    //若一样则继续往下比,如果全部一样则是返回0
    //如:  "abc"   "add"
       //方法调用者为"abc",实参值为"add",则返回值为(b的字母表顺序-d的字母表顺序=-2)
      //方法调用者为"add",实参值为"add",则返回值为(0,所有字母都相等)
      //方法调用者为"add",实参值为"abc",则返回值为(d的字母表顺序-b的字母表顺序=2)
     String str="abc";
     String str01="add";
     System.out.println(str.compareTo(str01));
     System.out.println(str01.compareTo(str01));
     System.out.println(str01.compareTo(str));
    

    4.常用操作

    判断File对象是否存在

    System.out.println(file.exists());
    

    4.2 判断File对象是否是文件(标准文件)

    System.out.println(file.isFile());
    //文件与文件夹不是一个东西,文件夹指的的目录
    

    4.3 判断File对象是否是文件夹 (即目录)

    System.out.println(file.isDirectory());
    

    4.4 判断File对象是否是绝对路径

    System.out.println(file.isAbsolute());
    

    4.5 创建文件

    System.out.println(file.createNewFile());
    //createNewFile只能创建文件    
    

    4.6 创建目录--->创建父文件存在的文件夹

    System.out.println(file.mkdir());
    

    4.7 创建目录----->创建文件夹,若路径文件夹不存在,则自动创建父类文件夹

    System.out.println(file.mkdirs()); 
    

    4.8 获取文件名

    System.out.println(file.getName());
    

    4.9 获取父文件名

    System.out.println(file.getParent());
    

    4.10 文件长度

    System.out.println(file.length());        
    

    4.11 剪切

     file.renameTo(new File("abc.txt"));
     //把文件移动到指定位置
    

    4.12 获取该文件目录下面的所有文件与文件夹(返回值为String[])

    //list方法只针对于文件夹,返回值为String类型的数组

    若File对象是文件,则返回null,空指针是不能够调用方法的

    String[] lists = file.list();
    for (String list : lists) {
        System.out.println(list);
    }
    //仅仅会出现所有文件以及文件夹的名字(无前面的地址信息)
    

    4.13 获取该文件目录下面的所有文件与文件夹(返回值为File[])

    //listFiles只对于文件夹,返回值为File[],(除开打印文件名外,还可以做一系列操作)

    若File对象是文件,则返回null,(空指针是不能够调用方法的)

    File[] files = file.listFiles();
    for (File file1:files){
       System.out.println(file1.getName());
    }
    //会出现所有文件的绝对路径(若想只有文件名,如上面所示调用getName()方法)
    

    4.14 得到初始化时赋值的地址信息

     System.out.println(file1.getPath());
    
  • 相关阅读:
    英语入门班第十八课-②特殊疑问句 whose、when、whom、which、how 的用法
    英语入门班第十八课-①特殊疑问句 where、what、why 的用法
    英语入门班第十七课-②情态动词 have to、ought to、should、dare、be able to、need、had better 的用法
    英语入门班第十七课-①情态动词 can、could、may、might、must 的用法
    Nginx反向代理访问内网服务器
    sqlite无法保存数据
    mysql绿色版安装
    配色网站
    via浏览器和Alook浏览器插件安装
    ESLint自用规则
  • 原文地址:https://www.cnblogs.com/SSSzhanglingzhi/p/14115059.html
Copyright © 2020-2023  润新知