一、文件类基本操作
File类关于文件操作的基本方法:
1. 创建一个新文件
public boolean creatNewFile() throws IOException //如果创建文件的路径找不到,就要抛出异常
2. 判断一个文件是否存在
public boolean exists()
3. 删除文件
public boolean delete()
综合范例:判断文件不存在,创建新文件,如果存在则删除
import java.io.File;
import java.io.IOException;
public class TestFile {
public static void main(String[] args){
File file =new File("C:/Users/10320/ideaProjects/text.java");
if(file.exists()){
file.delete();
}else{
try {
file.createNewFile();//创建新文件
} catch (IOException e) {
e.printStackTrace();//如果该文件目录不存在,抛出异常
}
}
}
}
注意:实际项目部署环境可能与开发环境不同,windows操作系统路径分隔符为“ \” Linux操作系统下路径分割符为“ /” 所以在使用路径分隔符时都会采用File类的一个常量"public static final String separator "来描述,separator由不同操作系统下的JVM来决定到底是哪个路径分割符。
使用方法如下:
File file = new File(File.separator + "Users" + File.separator + "10320" +
File.separator + "ideaProjects"+ File.separator + "test.java");
二、目录操作
File类关于目录操作的方法:
1. 获取父路径
public String getParent()
2. 获取父File对象
public File getParentFile()//获得父路径的File类对象可用来创建父路径
3.创建目录
public boolean mkdirs()
综合范例:文件目录操作
import java.io.File;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
//separator变量可以判断不同操作系统下的路径分隔符
File file =new File("C:"+File.separator+"Users"+File.separator+"10320"+
File.separator+"ideaProjects"+File.separator+"text1.java");
if(!file.getParentFile().exists()){
file.getParentFile().mkdirs();//有多少级父目录,就创建多少级
}
if(file.exists()){
file.delete();//文件存在,则删除
}else{
try {
file.createNewFile();//如果文件不存在,创建新文件
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
mkdir方法与mkdirs方法的区别:
- mkdir:只会创建当前目录,如果父目录不存在,创建失败
- mkdirs:创建目录时,如果父目录不存在,会一并创建
三、文件信息
File类关于获取文件信息操作的方法:
1. 判断路径是否是文件
public boolean isFile()
2.判断路径是否是目录
public boolean isDirectory()
3. 获取文件大小信息
public long length()
4. 获取最后一次修改的日期
public long lastModified()
综合范例1:获取文件信息
import java.io.File;
import java.util.Date;
public class FileTest {
public static void main(String[] args) {
File file =new File("C:"+File.separator+"Users"+File.separator+"10320"+
File.separator+"ideaProjects"+File.separator+"text.rtf");
if(file.exists()&&file.isFile()) {//判断文件存在
System.out.println("文件的大小为:"+file.length());
System.out.println("文件最后修改日期为:"+new Date(file.lastModified()));
}
}
}
运行结果:
文件的大小为:7
文件最后修改日期为:Sun Apr 07 21:14:23 CST 2019
综合范例2:获取目录全部组成
import java.io.File;
public class FileTest {
public static void main(String[] args) {
File file =new File("C:"+File.separator+"Users"+File.separator+"10320"+
File.separator+"ideaProjects");
if(file.exists()&&file.isDirectory()) {
File[] result=file.listFiles();//文件类数组,存放文件目录
for(File file2:result){ //创建一个新文件类对象file2
System.out.println(file2);
}
}
}
}
运行结果:
C:\Users\10320\ideaProjects\File
C:\Users\10320\ideaProjects\project2
C:\Users\10320\ideaProjects\text.java
C:\Users\10320\ideaProjects\text.png
C:\Users\10320\ideaProjects\text.rtf