• Java IO学习--File类


    一、File类

    File类具备一定的误导性,可能容易认为它指代的是文件,实际并非如此,它既能代表一个特定文件的名称,又能表示一个目录下一组文件的名称。简而言之,File类是文件或者目录路径名的抽象表示,可以帮助我们处理文件目录的问题。

    注意:File类只能操作文件的属性,文件的内容它是无法操作的,需要借助流才能操作。

    二、File类的使用

     1 public class FileDemo {
     2     
     3     public static void main(String[] args) {
     4         
     5         File file2 = new File("E:\test\a.txt");//特别需要注意,这样的路径形式在windows下有效
     6         
     7         File file3 = new File("E:\test");//通过路径构建File
     8         
     9         File file4 = new File("E:","test");//从父类路径和子类路径名构建File
    10         
    11         File file5 = new File(file3,"a.txt");//从父类File和子类路径名构建File
    12         
    13         System.out.println(file2);
    14         System.out.println(file3);
    15         System.out.println(file4);
    16         System.out.println(file5);
    17         System.out.println(File.separator);//连续多个路径字符串的分隔符
    18         System.out.println(File.pathSeparator);//分隔同一个路径字符串中的目录的
    19         File[] files = File.listRoots();
    20         for (File file : files) {
    21             System.out.println(file);
    22         }
    23         
    24     }
    25 
    26 }

    结果输出:

    E:	esta.txt
    E:	est
    E:	est
    E:	esta.txt
    
    ;
    C:
    D:
    E:
    F:

    三、File类常用方法

      ①、创建方法

        1.boolean createNewFile() 根绝给定的path创建文件,不存在返回true 存在返回false
        2.boolean mkdir() 创建目录,如果上一级目录不存在,则会创建失败
        3.boolean mkdirs() 创建多级目录,如果上一级目录不存在也会自动创建

      ②、删除方法

        1.boolean delete() 删除文件或目录,如果表示目录,则目录下必须为空才能删除
        2.boolean deleteOnExit() 文件使用完成后删除

      ③、判断方法

        1.boolean canExecute()判断文件是否可执行
        2.boolean canRead()判断文件是否可读
        3.boolean canWrite() 判断文件是否可写
        4.boolean exists() 判断文件或目录是否存在
        5.boolean isDirectory()  判断此路径是否为一个目录
        6.boolean isFile()  判断是否为一个文件
        7.boolean isHidden()  判断是否为隐藏文件
        8.boolean isAbsolute()判断是否是绝对路径 文件不存在也能判断

       ④、获取方法

        1.String getName() 获取此路径表示的文件或目录名称
        2.String getPath() 将此路径名转换为路径名字符串
        3.String getAbsolutePath() 返回此抽象路径名的绝对形式
        4.String getParent()//如果没有父目录返回null
        5.long lastModified()//获取最后一次修改的时间
        6.long length() 返回由此抽象路径名表示的文件的长度。
        7.boolean renameTo(File f) 重命名由此抽象路径名表示的文件。
        8.File[] liseRoots()//获取机器盘符
        9.String[] list()  返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。
        10.String[] list(FilenameFilter filter) 返回一个字符串数组,命名由此抽象路径名表示的目录中满足指定过滤器的文件和目录。

    具体的使用如下(挑选几个常用的):

     1 public class FileDemo2 {
     2     
     3     public static void main(String[] args) {
     4         
     5         File file = new File("E:\test.txt");
     6         try {
     7             //创建文件
     8             System.out.println(file.exists());//判断文件是否存在
     9             System.out.println(file.createNewFile());//创建文件,空文件,大小为0
    10             System.out.println(file.exists());//判断文件是否存在
    11             //获取文件相关属性
    12             System.out.println(file.length());//文件大小
    13             System.out.println(new Date(file.lastModified()));//文件最后修改时间
    14             System.out.println(file.getName());//获取文件名
    15             System.out.println(file.getPath());//获取文件路径
    16             System.out.println(file.getAbsolutePath());//获取绝对路径
    17             System.out.println(file.getParent());//获取父路径
    18             System.out.println(file.getParentFile());//获取父File
    19             
    20             //判断文件的相关特点
    21             System.out.println(file.canExecute());//能否执行
    22             System.out.println(file.canRead());//能否读写
    23             System.out.println(file.canWrite());//能否读写
    24             System.out.println(file.isFile());//是否是文件
    25             System.out.println(file.isHidden());//是否是隐藏文件
    26         } catch (Exception e) {
    27             e.printStackTrace();
    28         }
    29         
    30         
    31     }
    32 
    33 }

    结果输出:

    false
    true
    true
    0
    Tue Jul 10 21:47:32 CST 2018
    test.txt
    E:	est.txt
    E:	est.txt
    E:
    E:
    true
    true
    true
    true
    false
  • 相关阅读:
    atcoder做题记录
    CSP-S2021题解
    记录近期JAVA后端开发面试总结
    技术文章系列汇总(csdn转载)
    个人技术文章系列汇总(简书)
    个人技术文章系列汇总(csdn原创)
    解密Kafka吞吐量高的原因
    Java 常见面试题整理
    restemplate调用失败提示 处理方法
    Keil MDK忽略警告:文件末尾空白行警告
  • 原文地址:https://www.cnblogs.com/liupiao/p/9291657.html
Copyright © 2020-2023  润新知