3.文件处理File类
- java.io.File类:文件和目录路径名的抽象类表示形式
- 通过File对象可以访问文件的属性
- isFile() 判断是否为文件,file.isDirectory() 判断是否为文件夹
package com.File.demo;
import java.io.File;
public class Demo1 {
public static void main(String[] args) {
File file = new File("D:\\Javaproject\\test\\a.txt");
File file1 = new File("D:\\Javaproject\\test");
File file2 = new File(file1, "b.txt");
fileOrDirectory(file);
System.out.println("=========================");
fileOrDirectory(file1);
System.out.println("=========================");
fileOrDirectory(file2);
System.out.println("=========================");
canReadOrCanWrite(file);
System.out.println("=========================");
canReadOrCanWrite(file1);
System.out.println("=========================");
canReadOrCanWrite(file2);
}
public static void canReadOrCanWrite(File file1) {
if (file1.canRead()){
System.out.println("这是一个可以读取的文件");
}else{
System.out.println("你没有权限读取");
}
if (file1.canWrite()){
System.out.println("这是一个可以写入的文件");
}else{
System.out.println("你没有权限写入");
}
}
public static void fileOrDirectory(File file) {
if (file.isFile()) {
System.out.println("这是一个文件");
} else if (file.isDirectory()) {
System.out.println("这是一个文件夹");
}
}
}
- exists() 判断文件路径是否真实存在
- isHidden() 判断是否具有隐藏属性
package com.File.demo;
import java.io.File;
public class Demo2 {
public static void main(String[] args) {
File file = new File("D:/不存在的目录");
System.out.println(file.exists());
System.out.println(file.isHidden());
}
}
package com.File.demo;
import java.io.File;
import java.text.SimpleDateFormat;
public class Demo3 {
public static void main(String[] args) {
File file = new File("D:/Javaproject/test/a.txt");
if (file.exists()){
System.out.println(file.lastModified());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df.format(file.lastModified()));
}else {
System.out.println("找不到相关文件路径");
}
}
}
- mkdir() 创建文件夹,**mkdirs()**创建多级文件夹,**getName()**获取当路径最后一级,**getPath()**获取完整目录路径
package com.File.demo;
import java.io.File;
public class Demo4 {
public static void main(String[] args) {
File file = new File("D:/Javaproject/test/test1");
file.mkdir();
File file1 = new File(file, "test2/test3");
System.out.println(file1.mkdirs());
System.out.println(file1.getName());
System.out.println(file1.getPath());
}
}
- createNewFile() 创建新文件,**delete() **删除文件
package com.File.demo;
import java.io.File;
import java.io.IOException;
public class Demo5 {
public static void main(String[] args) {
File file = new File("D:/Javaproject/test/test1/c.txt");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.File.demo;
import java.io.File;
public class Demo6 {
public static void main(String[] args) {
File file = new File("D:\\Javaproject");
if (file.exists()) {
try {
printFilesTree(file, 1);
} catch (NullPointerException e) {
e.printStackTrace();
}
}
}
public static void printFilesTree(File file, int level) throws NullPointerException {
for (int i = 0; i < level; i++) {
System.out.print("-");
}
System.out.println(file.getName());
if (file.isDirectory()) {
File[] files = file.listFiles();
for (File file$next : files
) {
printFilesTree(file$next, level + 1);
}
}
}
}