File类

File类的使用

1.File类的一个对象,代表一个文件或一个文件目录

2.File类声明在java.io下

3.File类涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或者读取文件内容的操作。如果需要读取读取或者写入文件内容,必须使用IO流来完成。

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

File的三种构造器

1.创建File类实例

  • File(String filepath)
  • File(String parentPath, String childPath)
  • File(File parentPath, String childPath)

2.绝对路径:

相对路径:

3.路径分割符:

  • windows:(转义:\)
  • unix: / (windows中同样识别)
  • 路径分隔符:File.separator
		File file1 = new File("hello.txt");//相对于当前的module
        System.out.println(file1);

        File file2 = new File("E:\", "ThinkingInJava");
        System.out.println(file2);

        File file3 = new File(file2, "hi.txt");
        System.out.println(file3);

File常用方法

File file1 = new File("hello.txt");
System.out.println(file1.getAbsoluteFile());
System.out.println(file1.getPath());
System.out.println(file1.getName());
System.out.println(file1.getParent());
System.out.println(file1.length());
System.out.println(new Date(file1.lastModified()));

查看目录内容

File file = new File("E:\ThinkingInJava");
String[] list1 = file.list();
for (String s : list1) {
    System.out.println(s);
}
File[] list2 = file.listFiles();
for (File f : list2) {
    System.out.println(f);
}

文件重命名(renameTo)

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

file1.renameTo(file2)

要保证返回值true,需要file1在硬盘中真实存在,且file2不能在硬盘中存在

	File file1 = new File("hello.txt");
	File file2 = new File("hi.txt");
	boolean renameTo = file1.renameTo(file2);
	System.out.println(renameTo);

查看文件属性的方法

File file1 = new File("hello.txt");
System.out.println(file1.isDirectory());
System.out.println(file1.isFile());
System.out.println(file1.exists());
System.out.println(file1.canRead());
System.out.println(file1.canWrite());
System.out.println(file1.isHidden());

创建与删除文件

File file1 = new File("hello.txt");
if (!file1.exists()) {
    file1.createNewFile();
    System.out.println("创建成功");
} else {
    file1.delete();
    System.out.println("删除成功");
}

文件目录的创建

mkdir():如果不存在上层目录,方法不执行

mkdirs():任意产生复杂的目录

File file1 = new File("d:\io\io1\io3");
boolean mkdir1 = file1.mkdir();
if (mkdir1) {
    System.out.println("创建成功1");
}

File file2 = new File("d:\io\io1\io4");
boolean mkdir2 = file2.mkdirs();
if (mkdir2) {

    System.out.println("创建成功2");
}
原文地址:https://www.cnblogs.com/Glov/p/13554861.html