Java IO 1 : File类

File 类访问文件和目录

1.访问文件名的相关方法:

  String getName()  返回File对象所表示的文件名/路径名 (如果是路径 , 就返回最后一级子路径名)
  String getPaht()  返回File对象所对应的路径名
  File getAbsoluteFile()  返回File对象的绝对路径
  String getAbsolutePath()   返回File对象所对应的绝对路径名
  String getParent()  返回此File对象所对应目录(最后一级子目录)的父目录名
  boolean renameTo(File newName)   重命名所对应的文件或者目录 , 如果命名成功True 否false 

2.文件检测的相关方法:

  boolean exists()  判断file对象所对应的文件或者目录是否存在
  boolean canWrite()   判断file对象所对应的文件和目录是否可写
  boolean canRead()  判断file对象所对应的文件和目录是否可读
  boolean isFile()  判断file对象所对应的是否是文件
  boolean idDirectory()  判断file对象所对应的是否是目录
  boolean isAbsolute()  判断所对应的文件/目录是否是绝对路径

3.获取文件常规信息:

  long lastModified()   返回文件的最后修改时间
  long length()   返回内容的长度

4.文件操作的相关方法:

   boolean createNewFile()   当file对象所对应的文件不存在时,创建一个该file对象所制定的新文件
   boolean delete()   删除file对象所对应的文件或者路径
   void deleteOnexit()   java虚拟机退出时,删除file对象所对应的文件和目录

5.目录操作的相关方法:

  boolean mkdir()  创建一个file所对应的目录,调用该方法时file对象必须是一个路径
  boolean mkdirs()
  String[] list()  列出file对象的所有子文件和路径
  File[] listFiles()   
常用方法
public class File01 {

    public static void main(String[] args) throws IOException {
        //File.separator 代替/或者\ , 是为了保障跨平台/ \\ 的正确性和可移植性
        String filePath = "D:" + File.separator + "demo";
        File file = new File(filePath);
        
        if(!file.exists()) {
            file.mkdirs();
        }
        
        String[] fileList = file.list();//列出file对象的所有自文件名 ,和路径名 ,返回字符串数组
        for (String temp : fileList) {
            System.out.print(temp + "\t");
        }
        System.out.println();
        System.out.println("-------------------");
        File[] files = file.listFiles();//列出file对象的所有子文件,和路径
        for (File file2 : files) {
            System.out.print(file2 + "\t");
        }
        System.out.println();
        System.out.println(files[0].getName());//获取文件名或者路径名,如果是路径,返回最后一级
        System.out.println(files[1].getName());
        System.out.println(files[0].getPath());//返回file对象所对应的路径名
        System.out.println(files[1].getPath());
        System.out.println(files[0].getAbsolutePath());
        System.out.println(files[0].getParent());
        System.out.println(files[0].renameTo(new File( filePath + File.separator + "bbb.txt")));
        System.out.println(files[0].length());//返回文件内容的长度
        System.out.println(new Date(files[0].lastModified()));//返回文件的最后修改时间  long类型
        System.out.println(files[0].isDirectory());//判断文件是否是目录
        System.out.println(files[0].isAbsolute());
        System.out.println(files[0].isFile());//单端是否是文件, 而不是目录
        System.out.println(files[0].canRead());
        System.out.println(files[0].canWrite());
        System.out.println(files[0].canExecute());
    }
}
测试Demo
注意事项:

   文件路径分级 / 或者 \ 用File.separator , 保障代码跨平台的正确性;
   mkdir 和 mkdirs 的区别:
   eg: /demo/demo1/demo2  
      如果有几级目录的一个目录都不存在, 用mkdir的话 , 创建失败;mkdirs能创建;
      mkdir只能创建一级目录  mkdirs创建多级目录
注意事项

 

posted @ 2018-09-14 13:51  new_boys  阅读(154)  评论(0编辑  收藏  举报