1.概述
java.io包中提供了一些接口和类,对计算机中的文件进行操作。
在程序中,一个File对象既可以代表一个文件或者一个目录。
利用File类可以对文件或者目录进行基本操作,如:查出文件名称、大小,文件最后修改日期等。
2.File类的常用构造方法
File(String pathname):用指定的文件路径构造文件
File(String dir,String subpath):在指定的目录dir下创建指定文件名subpath的文件
File(File parent,String subpath):根据一个文件对象和字符串子文件创建文件
创建一个File对象:
File file=new File(String pathname);
如:File file=new File("E:\\a.txt");
3.File类常用方法
代码举例说明:
public static void main(String[] args) {
// 创建File类对象,该对象指向E盘中a.text文件和demo目录
File file1=new File("E:\\a.txt");
File file2=new File("E:/demo");
//boolean exists()测试此抽象路径名表示的文件或者目录是否存在
boolean result1=file1.exists();
System.out.println("file1指向的文件存在:"+result1);
System.out.println("file2指向的目录存在:"+file2.exists());
//boolean isDirectory()测试此抽象路径名表示的文件是否是一个目录
//boolean isFile()测试此抽象路径名表示的文件是否是一个标准文件
System.out.println("file1对象指向的是一个文件:"+file1.isFile());//true
System.out.println("file1对象指向的是一个目录:"+file1.isDirectory());//false
System.out.println("file2对象指向的是一个文件:"+file2.isFile());//false
System.out.println("file2对象指向的是一个目录:"+file2.isDirectory());//true
//String getName()返回由此抽象路径名表示的文件或目录的名称。
System.out.println("file1对象指向的文件名:"+file1.getName());
System.out.println("file2对象指向的文件名:"+file2.getName());
// long length()返回由此抽象路径名表示的文件的长度 ,返回的结果值是一个大概值,是不确定的
System.out.println("file1对象指向的文件的长度:"+file1.length());
}
创建文件和删除:
public static void main(String[] args) throws IOException {
File file=new File("E:b.txt");
//boolean exists():判断file对象指向的文件是否存在
//如果file对象指向的文件不存在,就创建file对象指向的文件
if (!file.exists()) {
//boolean creatNewFile():当且仅当不存在具有此抽象路径名指定名称的文件时,创建一个新的空文件。
file.createNewFile();
System.out.println("文件创建成功");
}else{
//boolean delete()删除此抽象路径名表示的文件或目录
file.delete();
System.out.println("文件删除成功");
}
}
mkdir()方法和mkdirs()方法的区别:前者创建单级目录,后者创建多级目录。
public static void main(String[] args) {
File file1=new File("E:/test");
//如果file1指向的目录不存在,就创建目录,如果目录存在,就删除这个目录
if (file1.exists()) {
file1.delete();
System.out.println("目录删除成功");
}else{
// boolean mkdir() 创建此抽象路径名指定的目录。
file1.mkdir();
System.out.println("目录创建成功");
}
File file2=new File("E:/a/b/c/d");
//boolean mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录
file2.mkdirs();
System.out.println("目录创建成功");
file2.delete();
}
getPath()方法和getAbsolutePath()方法区别:
public static void main(String[] args) throws IOException {
File file1=new File("text.txt");
file1.createNewFile();
//String getPath() 将此抽象路径名转换为一个路径名字符串
String path=file1.getPath();
System.out.println(path);//text.txt
//String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
System.out.println(file1.getAbsolutePath());//D:\MyEclipse\MyEclipse2014\Workspaces\Day23输入和输出-IO流\text.txt
}