Java中的File类提供了一组简单实用的方法来操作本地文件系统中的文件和目录。下面是完整的攻略,分为以下几个部分:
1. 创建File对象
File类的构造函数可以接受文件路径或者路径名作为参数来创建File对象。可以按照以下方式创建File对象:
File file = new File("D:\\test\\example.txt"); // 创建一个File对象,指向D盘test文件夹下的example.txt文件
2. 判断文件是否存在
可以使用File对象的exists()方法来检查文件是否存在,该方法返回值类型是boolean,表示文件是否存在。例如:
File file = new File("D:\\test\\example.txt");
if (file.exists()) {
// 文件存在时的处理逻辑
}
3. 创建文件或者文件夹
可以使用File对象的createNewFile()方法来创建文件,该方法返回true表示创建成功,false表示文件已经存在或者创建失败。例如:
File file = new File("D:\\test\\example.txt");
if (!file.exists()) {
try {
file.createNewFile(); // 创建文件
} catch (IOException e) {
e.printStackTrace();
}
}
同样,可以使用mkdir()方法或mkdirs()方法来创建目录。目录的创建和文件的创建基本相同,只需要使用不同的方法即可。例如:
File directory = new File("D:\\test\\exampleDir");
if (!directory.exists()) {
directory.mkdir(); // 创建一个目录
// 或者使用 directory.mkdirs() 创建不存在的父目录和子目录
}
4. 删除文件或者文件夹
可以使用File对象的delete()方法来删除文件或者空目录,该方法返回true表示删除成功,false表示删除失败。例如:
File file = new File("D:\\test\\example.txt");
if (file.exists()) {
file.delete(); // 删除文件
}
可以使用delete()方法来删除一个文件,或者使用delete()方法来删除一个空目录。要删除非空目录,需要使用递归的方式删除目录中的所有内容,然后再删除目录本身。
5. 获取文件的属性
File对象提供了一组方法来获取文件的基本属性,如文件名、路径、大小、修改日期等。例如:
File file = new File("D:\\test\\example.txt");
if (file.exists()) {
System.out.println("文件名:" + file.getName());
System.out.println("文件路径:" + file.getPath());
System.out.println("文件大小:" + file.length());
System.out.println("最后修改时间:" + new Date(file.lastModified()));
}
示例1:批量重命名指定目录下的文件名后缀
public static void batchRenameFile(String path, String oldSuffix, String newSuffix) {
File dir = new File(path);
File[] files = dir.listFiles();
if (files != null && files.length > 0) {
for (File file : files) {
if (file.isFile() && file.getName().endsWith(oldSuffix)) {
String newFileName = file.getName().replace(oldSuffix, newSuffix);
File newFile = new File(dir, newFileName);
file.renameTo(newFile);
}
}
}
}
该方法可以重命名path目录下所有以oldSuffix结尾的文件,将其后缀该为newSuffix。
示例2:统计指定目录下的文件数和文件总大小
public static void countFileSize(String path) {
File dir = new File(path);
long totalSize = 0;
int fileCount = 0;
if (dir.exists() && dir.isDirectory()) {
File[] files = dir.listFiles();
if (files != null && files.length > 0) {
for (File file : files) {
if (file.isFile()) {
totalSize += file.length();
fileCount++;
}
}
}
}
System.out.println(String.format("文件数:%d,文件总大小:%d bytes", fileCount, totalSize));
}
该方法可以统计指定目录path下的所有文件数和文件总大小。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java-文件File简单实用方法(分享) - Python技术站