美文网首页
Java IO流

Java IO流

作者: 啦啦啦_9a5f | 来源:发表于2018-12-19 20:59 被阅读0次

    一、File类

    1.File:文件和目录路径名的抽象表示,File类的实例不可以改变

    2.构造方法:

    (1)File(File parent,String child):根据指定的父路径对象和文件路径创建File对象

    File parent = new File("D:\\a");

    File f = new File(parent,"b.txt");

    (2)File(String pathname):// 将指定的路径名转换成一个File对象

    File f = new File("D:\\a\\b.txt");//只是将File指向路径,如果所在路径没有该文件,也不会创造新的文件

    (3)File(String parent,String child)//根据指定的父路径和文件路径创建File对象

    File f = new File("D:\\a","b.txt");

    3.File的常见功能:

    (1)创建功能

    boolean createNewFile(): 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。

    boolean mkdir():创建此抽象路径名指定的目录。

    boolean mkdirs():创建此抽象路径名指定的目录,包括所有必需但

    (2)删除功能

    boolean delete(): 删除此抽象路径名表示的文件或目录。

    注意:删除一个文件夹,这个文件夹下面不能 有其他的文件和文件夹

    (3)获取功能

    File getAbsoluteFile():返回此抽象路径名的绝对路径名形式。

    String getAbsolutePath(): 返回此抽象路径名的绝对路径名字符串。

    String getName():返回由此抽象路径名表示的文件或目录的名称。

    String getParent():返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。

    File getParentFile():返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回null

    String getPath() :返回创建file对象是给的路径

    (4)判断功能

    boolean exists():测试此抽象路径名表示的文件或目录是否存在。

    boolean isAbsolute():测试此抽象路径名是否为绝对路径名。

    boolean isDirectory():测试此抽象路径名表示的文件是否是文件夹 。

    boolean isFile(): 测试此抽象路径名表示的文件是否是一个文件。

    boolean isHidden():测试此抽象路径名指定的文件是否是一个隐藏文件。

    long lastModified(): 返回此抽象路径名表示的文件最后一次被修改的时间,。

    long length():返回文件字节数。

    (5)修改功能

    boolean renameTo(File dest):将当前File对象所指向的路径修改为指定File所指定的路径

    File f1 = new File("a.txt")

    File f2 = new File("b.txt")

    f1.renamrTo(f2)

    (6)重要获取功能

    String[] list():返回当前路径下所有的文件和文件夹名称

    string[] files = f.list();
    for(int i = 0;i <files.length;i++){
    System.out.println(files[i]);
    }

    File[] listFiles():可以获取的功能比String[] list多

    File[] files = f.listFiles();
    for(File file : files){
      System.out.println(file);
    }

    static File[] listRoots():返回的是所有盘符

    File[] files = File.listRoots()
    for(File file : files){
    System.out.println(file);
    }

    例子:输出指定目录下所有的Java文件名(包含子目录)

    if(file.isDirectory()){
      File[] files = file.listFiles();
      for(File f:files){
        if(f.isFile()){
            if(f.getName().endWith(".java")){
                System.out.println(f.getName());            }else{
                method(f);
            }
        } 
      }
    }

    例子:删除指定的目录(包含子目录)

    注意:如果要删除一个目录,则需要先还是暗处这个目录下的所有子文件和子目录

    public static void method(File f){
    if(file.isDirectory()){
    File[] files = file.listFiles();
    for(File f: files){
      if(f.isFile()){
            f.delete();
        } 
        else if(f.isDirectory()){
            method(f);
        }
      file.delete();
      }
    }
    }

    相关文章

      网友评论

          本文标题:Java IO流

          本文链接:https://www.haomeiwen.com/subject/lyyskqtx.html