File文件操作类
1. File类的使用
File:本地文件系统中的一个文件(文件和目录)。
java.io.File类是一个普通的类,可以直接产生实例化对象。实例化对象用到两个构造方法:
- public File(String pathname);
- public File(String parent, String child); 设置父路径和子路径。
File类中有些常用的方法:
- 创建一个新文件;
public boolean createNewFile() throws IOException
- 判断文件是否存在;
public boolean exists()
- 删除文件;
public boolean delete()
举例:使用上述方法创建文件
public class TestFile {
public static void main(String[] args) {
//将本地文件系统中的文件与File类关联起来
File file = new File("D:"+File.separator+"test1");
if(file.exists()){
System.out.println("该文件存在");
}else{
try {
//创建文件产生异常,比如磁盘满了,不能创建
boolean rs = file.createNewFile();
if (rs){
System.out.println("文件创建成功");
}else{
System.out.println("文件创建失败");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
在上面中,反斜杠用File类中的静态属性替代。
public static final String separator = "" + separatorChar;
原因:在Windows操作系统中,文件路径分隔使用\
;而在Linux操作系统中,文件路径分隔用/
。File.separator常量来描述这两种方式,由不同操作系统的JVM来决定使用哪种斜杠。
举例:删除文件
public class TestFile {
public static void main(String[] args) {
//将本地文件系统中的文件与File类关联起来
File file = new File("D:"+File.separator+"test1");
if(file.exists()){
boolean rs = file.delete();
if (rs){
System.out.println("文件删除成功");
}else{
System.out.println("文件删除失败");
}
}else{
System.out.println("文件不存在");
}
}
}
2. 目录操作
File中两种创建目录的方式:
- public boolean mkdir() : 只会创建当前目录,如果父目录不存在,创建失败;
- public boolean mkdirs():当父目录不存在,一并创建;
另外还有一些获取父路径或父类对象的方法:
- public String getParent()
- public File getParentFile()
- public String getPath()
举例:使用mkdir()创建目录
public class TestFile {
public static void main(String[] args) {
String directory = "D:"+File.separator+"test1"+File.separator+"Java"+File.separator+"abc";
File file = new File(directory);
if(file.exists()){
file.delete();
}else{
boolean rs = file.mkdir();
if(rs){
System.out.println("创建成功!");
}else{
System.out.println("创建失败!"); //输出创建失败
}
}
}
}
举例:使用mkdirs()创建目录
public class TestFile {
public static void main(String[] args) {
String directory = "D:"+File.separator+"test1"+File.separator+"Java"+File.separator+"abc";
File file = new File(directory);
if(file.exists()){
file.delete();
}else{
//mkdir :只会创建当前目录,如果父目录不存在,则创建失败
//mkdirs: 创建目录时,如果父目录不存在,一并创建
boolean rs = file.mkdirs();
if(rs){
System.out.println("创建成功!"); //输出创建成功
}else{
System.out.println("创建失败!");
}
}
}
}
举例:获取父类路径,对象
public class TestFile {
public static void main(String[] args) {
String directory = "D:"+File.separator+"test1"+File.separator+"Java"+File.separator+"abc";
File file = new File(directory+File.separator+"a");
String parent = file.getParent();
String path = file.getPath();
File fileParent = file.getParentFile();
System.out.println(parent); //\test1\Java\abc
System.out.println(path); //\test1\Java\abc\a
System.out.println(fileParent.getPath()); //\test1\Java\abc
}
}
3. 文件信息
File中获取文件信息的方法:
- public boolean isFile() :判断路径是否是文件
- public boolean isDirectory() :判断路径是否是目录
- public long length() : 取得文件(字节)大小
- public long lastModified() : 最近一次修改时间
举例:获取文件信息
public class TestFile {
public static void main(String[] args) {
String directory = "D:"+File.separator+"test1"+File.separator+"Java"+File.separator+"abc";
File file = new File(directory+File.separator+"a");
System.out.println("文件是否存在:"+file.exists());
System.out.println("是否是文件:"+file.isFile());
System.out.println("是否是目录:"+file.isDirectory());
System.out.println("是否是隐藏文件:"+file.isHidden());
System.out.println("文件大小:"+file.length());
System.out.println("最近一次修改时间:"+new Date(file.lastModified()));
}
}
总结:感觉没啥总结的,以上方法都很简单,多使用几次就能掌握。