java之File文件类

File文件类简介

File类定义了一些与平台无关的方法来操作文件,包括对文件的创建、删除、重命名等。还可以用来获取文件本身的信息,如文件所在目录、文件的长度、文件读写权限等。注意,如果要对文件进行读写的话,需要数据流类来执行。File类本身不提供接口进行读写。

标准文件

  • 创建代理
File s =new File("te.txt")

如果文件名前面…/则代表在项目的前一级目录中,如果在文件名前面有两个…/…/则是将文件创建在项目目录的前两级目录中

  • 创建文件
  • 当且仅当不存在具有此抽象路径指定名称的文件时,不可分的创建一个新的空文件。常与exist()函数搭配起来使用
import java.io.File;
import java.io.IOException;
public class FileTest {
  public static void main(String[] args) {
  File file = new File("D:\\test","test6.txt");
    if(file.exists()){
    file.delete() ;
      System.out.println("文件已删除!");
  }else {
  try {
    file.createNewFile() ;
      System.out.println("文件已创建!");
  } catch (IOException e) {
    e.printStackTrace();
      }
        }
    }
  }
  • 判断文件是否存在
//承接上面的代码
s.exist() //返回的是布尔值
  • 删除文件
s.delete()
  • 检验文件
  • isDirectory()用来测试此抽象路径名表示的文件是否是一个目录。
  • isFile()测试此抽象路径名表示的文件是否是一个标准文件。
  • 重命名文件
  • 首先要创建新的代理
File nameto = new File("../new hello.txt")
  • 将代理传给原来的文件
file.renameTo(nameto)
  • 代码示例
import java.io.File;
import java.io.IOException;
public class FileTest {

    public static void main(String[] args) {
        //创建文件代理
        File f = new File("E:\\yufa\\src","1.txt");
        //创建判断文件是否存在
        System.out.println("文件是否存在"+f.exists());
        //删除文件
        //f.delete();
        //System.out.println("文件是否存在"+f.exists());
        //重命名文件
        File rename = new File("E:\\yufa\\src","2.txt");
        if(f.exists()){
            f.renameTo(rename);
        }else {
            try {
                f.createNewFile();
                f.renameTo(rename);
                System.out.println(f.getName());
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
  • 运行结果
文件是否存在false
  • 文件结构
  • java file读取文件创建时间 java读取文件创建类_文件创建

目录文件

  • 创建
  • mkdir()方法,返回值为布尔类型。如果创建的文件夹已经存在,就会返回一个false;但是必须存在父目录,如果不存在父目录,那么将创建失败;
  • 父目录存在
  • 代码
import java.io.File;
public class FileTestTwo {

    public static void main(String[] args) {
        File f =new File("E:/yufa/src/","newfolder");
        if(f.exists()){
            System.out.println("此文件夹已经存在");
        }else {
            if(f.mkdir()){
                System.out.println("文件创建成功");
            }
        }
    }
}
  • 结果
文件创建成功
  • 文件目录

java file读取文件创建时间 java读取文件创建类_java file读取文件创建时间_02

  • 父目录不存在
import java.io.File;
public class FileTestThree {

    public static void main(String[] args) {
        File f =new File("E:/yufa/src/C","newfolder");
        if(f.exists()){
            System.out.println("此文件夹已经存在");
        }else {
            if(f.mkdir()){
                System.out.println("文件创建成功");
            }else{
                System.out.println("无法创建文件夹");
            }
        }
    }
}
  • 运行结果
无法创建文件夹
  • mkdirs()方法,如果父目录不一定存在,如果不存在,那么会将父目录一并创建。
  • 父目录不存在
import java.io.File;

public class FileTestThree {
    public static void main(String[] args) {
        File f =new File("E:/yufa/src/C","newfolder");
        if(f.exists()){
            System.out.println("此文件夹已经存在");
        }else {
            if(f.mkdirs()){
                System.out.println("文件创建成功");
            }else{
                System.out.println("无法创建文件夹");
            }
        }
    }
}
  • 执行结果

java file读取文件创建时间 java读取文件创建类_java_03

  • 删除
//例如:
f.delete();
  • 重命名
//进入了
import java.io.File;
public class FileTestFour {

    public static void main(String[] args) {
        File file =new File("my new folder/one/two/three/four");
        if(file.exists()){
            System.out.println("此文件夹已经存在");
        }else {
            if(file.mkdirs()){
                System.out.println("文件创建成功");
            }
        }

        File newfile =new File("my new foloder/one/two/three/my_new_folder");
        if(file.renameTo(newfile)){
            System.out.println("重命名成功");
        }
    }
}
  • 结果
文件创建成功

file类不能实现对文件的读写,数据流类可以实现文件的读写