File类是java.io包中唯一代表磁盘文件本身的对象。File类的对象主要用来获取文件自身的一些信息,如文件所在的目录,文件的长度,文件读写权限等。数据流可以将数据写入到文件中,文件也是数据流最常用的数据媒体。
1.文件的创建与删除
可以使用File类创建一个文件对象,通常用以下三种构造方法来创建文件对象:
(1)File(String pathname)
//其中,pathname指路径名称或文件名,如下:
File file = new File("d:/a.text");
(2)File(String parent,String child)
//其中,parent指父路径字符串,child指子路径字符串,如下:
File file = new File("c:/temp","a.text");
(3)File(File f,String child)
其中,f指父路径对象,child指子路径字符串,如下:
File file1 = new File("c:/temp");
File file = new File(file1,"b.text");
代码实现:
import java.io.*;
public class FileText1 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
File file1 = new File("c:/temp");
File file = new File(file1,"b.text");
if(file.exists()) { //如果该文件存在
file.delete(); //将文件删除
System.out.println("文件已删除!");
}else { //如果不存在
try {
file.createNewFile(); //创建该文件
System.out.println("文件已创建!");
}catch(IOException e){
e.printStackTrace();
}
}
}
}
2.获取文件信息
File类的常用方法:
方法 | 返回值 | 说明 |
---|---|---|
getName() | String | 获取文件的名称 |
canRead() | boolean | 判断文件是否为可读的 |
canWrite() | boolean | 判断文件是否可被写入 |
exists() | boolean | 判断文件是否存在 |
length() | long | 获取文件的长度(以字节为单位) |
getParent() | String | 获取文件的父路径 |
getAbsolutePath | String | 获取文件的绝对路径 |
isFile() | boolean | 判断文件是否存在 |
isDirectory() | boolean | 判断文件是否为一个目录 |
isHidden() | boolean | 判断文件是否为隐藏文件 |
lastModified() | long | 获取文件最后修改时间 |
代码实现:
import java.io.*;
public class FileText2 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
File file = new File("c:/temp","b.text");
if(file.exists()) { //如果文件存在
String name = file.getName(); //获取文件名称
long length = file.length(); //获取文件长度
boolean hidden = file.isHidden(); //判断文件是否为隐藏文件
System.out.println("文件名称:"+name);
System.out.println("文件长度是:"+length);
System.out.println("该文件是否是隐藏文件:"+hidden);
}else {
System.out.println("文件不存在!");
}
}
}