43 File类

File类的使用

  1. File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹).

  2. File类是声明在java.io 包下

 

创建File类的实例

相对路径:相较于某个路径下,指明的路径

绝对路径:包含盘符在内的文件或文件目录的路径

 

路径分隔符

windows: \\

unix : /

 

常用构造器

public File(String pathname) 以pathname为路径创建File对象,可以是绝对路径或者相对路径,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。

    //构造器1
File file1 = new File("hello.txt");//相对于当前module
   File file2 = new  File("F:\\kuangstudy\\shangguigu\\day03\\he.txt");//

 

public File(String parent,String child) 以parent为父路径,child为子路径创建File对象。

        //构造器2  上一层目录 下一层目录
       File file3 = new File("F:\\kuangstudy","shangguigu");

 

public File(File parent,String child) 根据一个父File对象和子文件路径创建File对象

        File file4 = new File(file3,"hi.txt");

 

常用方法

public string getAbsolutePath():获取绝对路径

public string getPath() :获取路径

public String getName() :获取名称

public string getParent():获取上层文件目录路径。若无,返回nulL

public long length():获取文件长度(即:字节数)。不能获取目录的长

度。

public Long lastModified():获取最后一次的修改时间,毫秒值

 

        File file1 = new File("hello.txt");
 
System.out.println(file1.getAbsoluteFile());
       System.out.println(file1.getPath());//"hello.txt"
       System.out.println(file1.getName());//"hello.txt"
       System.out.println(file1.getParent());//null
       System.out.println(file1.length());//10
       System.out.println(file1.lastModified());//毫秒数

 

创建一个与a.txt0同目录下的另一个文件b.txt

File file1 = new File("d:\\a\\a.txt");
File file2 = new File(file1.getParent(),"b.txx");

 

 

如下的两个方法适用于文件目录:

public string[ ] list():获取指定目录下的所有文件或者文件目录的名

称数组

        File file = new File("F:\\kuangstudy\\shangguigu");

       String[] list = file.list();

       for(String s:list){
           System.out.println(s);
      }

 

public File[] listFiles():获取指定目录下的所有文件或者文件目录的FiLe数组 绝对路径的方式罗列出来

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

 

public boolean renameTo(File dest):把文件重命名为指定的文件路径

        //比如:file1.renameTo(file2);
       //要想保证返回true,需要file1在硬盘中是存在的,且file2不能在硬盘中存在
       File file1 = new File("hello.txt");
       File file2 = new File("F:\\io\\hi.txt");

       boolean renameTo = file1.renameTo(file2);
       System.out.println(renameTo);//false
  }

 

file类的判断功能

public boolean isDirectory():判断是否是文件目录

public boolean isFile() :判断是否是文件 public boolean exists() :判断是否存在

public booLean canRead():判断是否可读 public boolean canwrite():判断是否可写 public boolean isHidden() :判断是否隐藏

 

File类的创建功能

创建硬盘中的文件或文件目录

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

        File file1 = new File("hi.txt");
       if(!file1.exists()){
           file1.createNewFile();
      }else{//文件存在,删除
           file1.delete();
      }

 

 

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

        File file1 = new File("F:\\io\\io1");

       boolean mkdir = file1.mkdir();
       if(mkdir){
           System.out.println("创建成功");
      }

 

 

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

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

 

File类的删除功能

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

 

当硬盘中真有一个真实的文件或目录存在时,创建File对象时,各个属性会显式赋值。 当硬盘中没有真实的文件或目录对应时,那么创建对象时,除了指定的目录和路径之外,其他的属性都是取成员变量的默认值。

 

如果需要读取或写入文件内容,必须使用IO流来完成

后续File类的对象常会作为参数传递到流的构造器中,指明读取或写入的“终点”

上一篇:Linux命令


下一篇:用户的基本权限