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(); } } } }
运行结果:
文件不存在...请创建
正在创建中,请稍后....
目录创建成功
文件创建成功