在Java.io包之中,File类是唯一一个与文件本身操作(创建、删除、取得信息…)有关的程序类。
1. File类使用
java.io.File类是一个普通的类,直接产生实例化对象即可。如果要实例化对象则需要使用到两个构造方法:
- public File(String pathname) ; 设置路劲名称
- public File(String parent, String child);设置父路径和子路径
如果要想进行文件的基本操作,可以使用File类的如下方法:
- 创建一个新文件 :
public boolean createNewFile() throws IOException
eg:创建新文件
import java.io.File;
import java.io.IOException;
public class TestCreateFile {
public static void main(String[] args) {
File file = new File("C:\\Users\\64576\\Desktop\\TestCreateFile");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
File类只是创建文件本身,但是对于其内容并不做处理。
-
.判断文件是否存在:
public boolean exists()
-
删除文件:
public boolean delete()
eg:编写文件的基本操作(如果文件不存在则进行创建;存在则进行删除)
import java.io.File;
import java.io.IOException;
public class TeatFile {
public static void main(String[] args) {
File file = new File("C:\\Users\\64576\\Desktop\\TestFile.java");
if(file.exists()){
file.delete();
}else{
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
2.目录操作
File类中关于目录有如下方法:
取得父路径或父File对象:
public String getParent()
public File getParentFile()
若想创建父路径,此时好取得父路径的File类对象。
创建目录(无论有多少级父目录,都会创建):
public boolean mkdirs()
eg:Java目录操作
import java.io.File;
import java.io.IOException;
public class TestFileMkdirs {
public static void main(String[] args) throws IOException {
File file = new File("C:\\Users\\64576\\Desktop\\" +
"javaIO\\TestIO\\TestFile\\Mk.java");
if(!file.getParentFile().exists()){
file.getParentFile().mkdirs();
}if(file.exists()){
file.delete();
}else{
file.createNewFile();
}
}
}
3.文件信息
在File类里面提供有一系列取得文件信息的操作:
- 判断路径是否是文件: public boolean isFile()
- 判断路径是否是目录: public boolean isDirectory()
- 取得文件大小(字节): public long length()
- 后一次修改日期 : public long lastModified()
eg:取得文件信息
import java.io.File;
import java.io.IOException;
import java.util.Date;
public class TestIoFile {
public static void main(String[] args) throws IOException {
File file = new File("C:\\Users\\64576\\Desktop\\TestFile.java");
if(file.exists() && file.isFile()){
System.out.println("文件大小:"+file.length());
System.out.println("最后一次修改日期:"+ new Date(file.lastModified()));
}
}
}
Java还提供如下方法列出一个目录的组成:
public File[ ] listFiles()
eg:
import java.io.File;
public class TestListFiles {
public static void main(String[] args) {
File file = new File("C:\\Users\\64576\\Desktop\\javaIO");
if(file.exists() &&file.isDirectory()){
File[] result = file.listFiles();
for(File file1 : result){
System.out.println(file1);
}
}
}
}