1.简单介绍
java.io包的File类管理磁盘文件及目录。它可以用于创建文件和目录、删除文件和目录、测试文件是否存在、获取文件大小等等操作,File类不直接对文件的内容进行操作,而是管理文件系统中的文件和目录。
File类常用的方法:
1.创建文件或目录:
createNewFile()
:创建一个新文件。mkdir()
:创建一个新目录。mkdirs()
:创建一个新目录,包括任何必需但不存在的父目录。
2.删除文件或目录:
-
delete()
:删除文件或空目录。
3.文件/目录属性:
exists()
:检查文件或目录是否存在。isFile()
:检查是否是一个文件。isDirectory()
:检查是否是一个目录。getName()
:获取文件或目录的名称。getPath()
:获取文件或目录的路径。
4.遍历目录:
list()
:返回目录下的文件和目录的字符串数组。listFiles()
:返回目录下的文件和目录的 File 对象数组。
5.其他操作:
renameTo(File dest)
:将文件或目录重命名为指定的文件或目录。
2.代码示例
(1)创建文件及删除文件:
import java.io.File;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
String address = "D:\\java\\学习\\ok.txt";
File information = new File(address);
if( information.exists() ) {
System.out.println("文件名:" + information.getName() + ",长度:" + information.length());
if( information.delete() ) {
System.out.println("文件删除成功");
}
} else {
try {
if( information.createNewFile() ) {
System.out.println( information.getName() + "文件创建成功");
}
}
catch (IOException e) {
System.out.println("创建失败");
}
}
}
}
(2)创建目录和删除目录:
import java.io.File;
public class Main {
public static void main(String[] args) {
String directoryPath = "D:\\java\\学习\\OK.txt";
File newDirectory = new File(directoryPath);
if (!newDirectory.exists()) {
if (newDirectory.mkdirs()) {
System.out.println("目录已创建:" + newDirectory.getAbsolutePath());
System.out.println("目录名:" + newDirectory.getName() + ",目录长度:" + newDirectory.length());
} else {
System.out.println("无法创建目录");
}
} else {
System.out.println("目录已存在");
if( newDirectory.delete() ) {
System.out.println("目录已删除");
} else {
System.out.println("目录删除失败");
}
}
}
}
(3)遍历目录:
list() 方法:
import java.io.File;
public class Main {
public static void main(String[] args) {
File directory = new File("D:\\java");
if (directory.isDirectory()) {
String[] contents = directory.list();
if (contents != null) {
for (String name : contents) {
System.out.println(name);
}
} else {
System.out.println("目录为空");
}
} else {
System.out.println("指定路径不是一个目录");
}
}
}
listFiles()方法:
import java.io.File;
public class Main {
public static void main(String[] args) {
File directory = new File("D:\\java");
if (directory.isDirectory()) {
File[] files = directory.listFiles();
if (files != null) {
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
} else {
System.out.println("目录为空");
}
} else {
System.out.println("指定路径不是一个目录");
}
}
}