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();
}
// file.delete();//删除文件
}
}
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);
}
}
}
}