文件的常用操作
package com.robot.io;
import java.io.*;
import java.util.Date;
public class FileTest {
public static void main(String[] args) throws IOException {
File file = new File("d:\\myTemp\\temp.txt");
if (!file.exists()) {
if (file.createNewFile()) {
System.out.println("创建成功!");
}
}
System.out.println("文件长度: " + file.length());
System.out.println("文件名称: " + file.getName());
System.out.println("文件绝对路径: " + file.getAbsolutePath());
System.out.println("文件相对路径: " + file.getPath());
System.out.println("文件父目录: " + file.getParent());
System.out.println("文件最后一次修改时间: " + new Date(file.lastModified()));
System.out.println("是否存在: " +file.exists());
System.out.println("是否只读: " +file.canRead());
System.out.println("是否隐藏: " +file.isHidden());
System.out.println("是否是文件: " +file.isFile());
if (file.renameTo(new File(file.getParent() + "\\yourName.txt"))) {
System.out.println("修改成功!");
}
}
}
目录的常用操作
package com.robot.io;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
public class DirectoryTest {
public static void main(String[] args) throws IOException {
File dir = new File("D:\\myDir\\aaa");
if (!dir.exists()) {
if (dir.mkdirs()) {
System.out.println("创建成功");
} else {
System.out.println("创建失败");
}
} else {
System.out.println("目录存在");
}
System.out.println("获取路径: " + dir.getPath());
System.out.println("获取绝对路径: " + dir.getAbsolutePath());
System.out.println("获取名称: " + dir.getName());
System.out.println("获取规范名称: " + dir.getCanonicalPath());
System.out.println("是否存在: " + dir.exists());
System.out.println("是否隐藏: " + dir.isHidden());
System.out.println("是否是目录: " + dir.isDirectory());
if (dir.renameTo(new File("D:\\myDir\\ccc"))) {
System.out.println("重命名成功");
} else {
System.out.println("重命名失败");
}
File temp = new File("d:\\myDir\\temp");
if (temp.delete()) {
System.out.println("删除成功");
} else {
System.out.println("删除失败");
}
System.out.println("--------获取子目录和文件---------");
File dir2 = new File("D:\\myDir");
File[] files = dir2.listFiles();
for (File file : files) {
System.out.println(file);
}
System.out.println("--------获取.txt---------");
String[] myFiles = dir2.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
if (name.endsWith(".txt")) {
return true;
}
return false;
}
});
for (String myFile : myFiles) {
System.out.println(myFile);
}
System.out.println("--------获取根目录-------");
File[] roots = File.listRoots();
for (File root : roots) {
System.out.println(root);
}
}
}
递归删除和显示
package com.robot.io;
import java.io.File;
public class ShowFile {
public static void main(String[] args) {
ShowFile showFile = new ShowFile();
showFile.show(new File("d:myDir"), 0);
showFile.deleteList(new File("d:myDir"));
}
public void show(File dir, int level) {
System.out.println(getSpace(level) + dir.getAbsolutePath());
level++;
File[] files = dir.listFiles();
if (files != null && files.length > 0) {
for (File file : files) {
if (file.isDirectory()) {
show(file, level);
} else {
System.out.println(getSpace(level) + file.getAbsolutePath());
}
}
}
}
public String getSpace(int level) {
StringBuilder stringBuilder = new StringBuilder();
for(int i = 0; i < level; i++) {
stringBuilder.append("----");
}
return stringBuilder.toString();
}
public void deleteList(File dir) {
File[] files = dir.listFiles();
if (files != null && files.length > 0) {
for (File file : files) {
if (file.isDirectory()) {
deleteList(file);
} else {
System.out.println(file.getAbsolutePath() + "----删除结果: " + file.delete());
}
}
}
System.out.println(dir.getAbsolutePath() + "----删除结果: " + dir.delete());
}
}