File 类是一个与文件操作有关的类 , file对象是将平时所用到的关于文件相关的操作进行封装来方便使用, 常规用途有增删改查 , 创建及删除文件, 目录等, 改文件名,查看文件 获取文件信息,路径地址等
例-文件的创建
package demo;
import java.io.File;
import java.io.IOException;
public class Blog {
public static void main(String[] args) throws IOException {
File file = new File("j:/demo1223.txt");
if (file.exists()) {
System.out.println("文件已存在!");
} else {
System.out.println("文件不存在!正在创建...");
file.createNewFile();
System.out.println("文件创建成功!");
}
}
/**
* 结果
* 文件不存在!正在创建...
* 文件创建成功!
*/
}
上段代码是创建了一个file对象并指定了一个文件路径.,然后用if判断这个文件是否存在,如果存在则输出该文件已存在, 不存在则创建,输出创建成功
例-文件的删除操作
package demo;
import java.io.File;
import java.io.IOException;
public class Blog {
public static void main(String[] args) throws IOException {
File file = new File("j:/demo1223.txt");
if (file.exists()) {
System.out.println("文件存在,正在删除...");
file.delete();//删除文件
System.out.println("文件删除完成!");
} else {
System.out.println("文件不存在!");
}
}
}
创建了一个file对象并指定文件路径, 用if判断一下是否存在这个文件, 如果这个文件存在则直接删除, 如果文件不存在直接输出文件不存在.
例-判断文件类型及权限
//递归(自己调用自己)
public static void file3() {
File file = new File("J:\\创建文件Demo\\demo\\de\\d\\1\\2\\3\\4\\5\\nb.txt");
System.out.println("判断文件是否存在" + file.exists());
System.out.println("判断是否可读" + file.canRead());
System.out.println("判断是否可写" + file.canWrite());
System.out.println("判断上面地址是否是目录" + file.isDirectory());
System.out.println("判断上面地址是否是文件" + file.isFile());
}
使用递归获取某路径下的所有文件名字
public static void file5(String path) {
File file = new File(path); // 创建一个File对象
File[] files = file.listFiles(); // 创建一个File数组把file对象下的文件目录存进去
if (files != null) { // 判断如果这个数组非空 也就是这个目录不是空目录的话就执行下一步操作否则执行else操作
for (int i = 0; i < files.length; i++) { // 循环这个数组
if (files[i].isFile()) { // 继续判断拿到的[i]是否是文件.不是文件的话执行else操作 是文件的话获取到文件名
System.out.println(files[i].getName());
} else {
String path2 = files[i].getPath(); // 如果不是文件就获取到[i]的路径
file5(path2); // 重新传值给file5();实现递归操作;
}
}
}
}
在使用递归时需要注意的是程序一定要有出口, 否则就会死循环!