File文件操作类

Java.io包中,File类是唯一一个与文件本身操作(创建、删除、取得信息)有关,与文件内容无关的程序类。

1.File类的基本使用(即可描述真实文件,也可是个文件夹)

File类的两种实例化方式:

  • public File(String pathname) :传入文件的绝对路径
  • public File(String parent,String child):设置父路径和子路径

1. 创建新文件:
public boolean createNewFile() throws IOException

 1.取得file对象
  File file = new File("路径\创建的文件名(JavaIO)");
  file.createNewFile();

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

 if(file.exists()){
 ...
 }

3. 删除文件:
public boolean delete()

      if(file.exist()){  //首先需要判断文件是否存在,存在之后才能将其删除
       file.delete();
      }

4.路径分隔符: // —> File.separator

File file = new File("C:" + File.separator + "Users" + File.separator + "Lenovo"
                + File.separator + "Desktop");

2.目录操作

1.取得父路径与父File对象
public String getParent()
public File getParentFile()

2.创建目录
public boolean mkdirs() :无论有多少级父目录都会一次性创建

public class Test {
public static void main(String[] args)throws Exception {
    File file = new File("C:" + File.separator + "Users" + File.separator + "Lenovo"
            + File.separator + "Desktop" + File.separator + "www"+ File.separator +"bit"+
            File.separator +"java"+ File.separator +"test.txt");
    //取得父文件对象
    File parentFile = file.getParentFile();
    if(!parentFile.exists()){ //如果文件不存在就递归创建
        parentFile.mkdirs();
    }
    if(file.exists()){
        file.delete();
    }else{
        file.createNewFile();
    }
  }
}

3.取得文件信息

  • 判断File对象是否是文件
    public boolean isFile()
  • 判断File对象是否是路径
    public boolean isDirectory()
public class Solution {
    public static void main(String[] args)throws Exception {
        File file = new File("C:" + File.separator + "Users" + File.separator + "Lenovo"
                + File.separator + "Desktop" + File.separator + "www"+ File.separator +"bit"+
                File.separator +"java"+ File.separator +"test.txt");   //File对象是文件
        File parentFile = file.getParentFile();  //File对象是路径
        if(!parentFile.exists()){
            parentFile.mkdirs();
        }
        if(!file.exists()) {
            file.createNewFile();
        }
        if(parentFile.isDirectory()){
            System.out.println("patrenFile是路径");
        }
        if(file.isFile()){
            System.out.println("file是文件");
        }
    }
}
输出结果:
patrenFile是路径
file是文件
  • 取得文件大小
    public long length() 字节/1024 :KB
System.out.println(file.length()/1024);
  • 取得最后修改日期
    public long lastModified()
System.out.println(new Date(file.lastModified()));
  • 列举一个目录的全部组成:
    public File[ ] listFiles()
    File[] files = file.listFiles();
    for(File file : files){
       system.out.println(file)
    }

时间操作:

long start = System.currentTimeMillis();
long end =System.currentTimeMillis();

扫描二维码关注公众号,回复: 4438634 查看本文章

IO相关处理属于阻塞式耗时操作,一般放在子线程中进行。

猜你喜欢

转载自blog.csdn.net/qq_41420688/article/details/84928348