Java常用类之File类

时间:2023-12-15 15:37:38

File 类:

  1. java.io.File 类代表系统文件名(路径名、文件名);

  2. File 类常见的构造方法:

    2.1. File(String pathname):通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例;

2.2. File(String parent, String child):根据 parent 路径名字符串和 child 路径名字符串创建一个新File实例;

  3. public static final String separator:与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 separatorChar

【注】:Linux只认识/ , Windows 认识\ , 也认识/   (Separator 分隔符)

File 类常用方法:

  1. 通过 File 对象可以访问文件的属性:

    public boolean canRead() // 测试应用程序是否可以读取此抽象路径名表示的文件

public boolean canWrite() // 测试应用程序是否可以修改此抽象路径名表示的文件

public boolean exists() // 测试此抽象路径名表示的文件或目录是否存在

    public boolean isDirectory() // 测试此抽象路径名表示的文件是否是一个目录

public boolean isFile() // 测试此抽象路径名表示的文件是否是一个标准文件

 public boolean isHidden() // 测试此抽象路径名指定的文件是否是一个隐藏文件

    public long lastModified() // 返回此抽象路径名表示的文件最后一次被修改的时间

    public long length() // 返回由此抽象路径名表示的文件的长度

   2. 通过 File 对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下)

    public boolean createNewFile() throws IOException // 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件

    public boolean delete() // 删除此抽象路径名表示的文件或目录

    public boolean mkdir() // 创建此抽象路径名指定的一个父目录

    public boolean mkdirs() // 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录

    public File[] listFiles() // 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件

   3. Demo 举例

Demo_1

import java.io.*;
public class Test {
public static void main(String[] args) {
String separator = File.separator; // 或者直接使用/表示,这样在Linux、Windows中都认识
String filename = "myfile.txt";
String directory = "E:"+separator+"JAVA"+separator; // 或者directory="E:/JAVA";
File f = new File(directory,filename);
if(f.exists()){
System.out.println("文件名:"+f.getName());
System.out.println("文件大小:"+f.length());
}else{
f.getParentFile().mkdir();
try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

运行结果:

文件名:myfile.txt
文件大小:1142

Demo_2

import java.io.*;
public class Test {
public static void main(String[] args) {
String separator = File.separator; // 或者直接使用/表示,这样在Linux、Windows中都认识
String filename = "myfile.txt";
String directory = "E:/Hello/IO/"; // 或者directory="E:/JAVA";
File f = new File(directory,filename);
if(f.exists()){
System.out.println("文件名:"+f.getName());
System.out.println("文件大小:"+f.length());
}else{
System.out.println("文件不存在...请创建");
f.getParentFile().mkdirs();
System.out.println("正在创建中,请稍后....");
try {
System.out.println("目录创建成功");
f.createNewFile();
System.out.println("文件创建成功");
} catch (IOException e) {
e.getStackTrace();
}
}
}
}

运行结果:

文件不存在...请创建
正在创建中,请稍后....
目录创建成功
文件创建成功