File类是文件和目录路径名的抽象表示形式。它有一些方法用于操作目录或者文件
目录信息获取
package com.mike.io.eg;
import java.io.File;
/**
* @author mike
* @date 2020-11-25
* @desc 目录文件信息获取
*/
public class FileDemo {
public static void main(String[] args) {
//测试打印当前系统分隔符
System.out.println(File.separator+ "
" + File.pathSeparator);
//创建文件对象
String filepath = "F:\foo.txt";
File file = new File(filepath);
//获取绝对路径名字符串。
System.out.println(file.getAbsolutePath());
//获取文件或目录名称
System.out.println(file.getName());
//获取路径名字字符串
System.out.println(file.getPath());
//获取路径名目目录名字字符串,如果没有指定父目录则返回null
System.out.println(file.getParent());
//返回最后一次修改时间(毫秒)
System.out.println(file.lastModified());
//获取文件长度,如果表示目录则返回值未指定
System.out.println(file.length());
}
}
目录文件判断方法
package com.mike.io.eg;
import java.io.File;
/**
* @author mike
* @date 2020-11-25
* @desc 目录文件判断方法
*/
public class FileDemo1 {
public static void main(String[] args) {
File file = new File("F:\foo.text");
//判断是否是目录
System.out.println(file.isDirectory());
//判断是否为文件
System.out.println(file.isFile());
//判断文件或目录是否存在
System.out.println(file.exists());
//判断是否可执行
System.out.println(file.canExecute());
//判断是否可读
System.out.println(file.canRead());
//判断是否可写
System.out.println(file.canWrite());
//判断是否为隐藏文件
System.out.println(file.isHidden());
}
}
目录文件获取
package com.mike.io.eg;
import java.io.File;
/**
* @author mike
* @date 2020-11-25
* @desc 目录文件获取
*/
public class FileDemo2 {
public static void main(String[] args) {
File file = new File("F:\test");
//String list(); 返回一个字符串数组,获取指定目录下的所有文件或者目录名称的数组。
String[] list = file.list();
for (String s :list) {
System.out.println(s);
}
//File[] listFiles(); 返回一个抽象路径名数组,获取指定目录下的所有文件或者目录的File数组。
System.out.println("---------------");
File[] files = file.listFiles();
for (File f : files) {
System.out.println(f.toString());
}
}
}
目录文件,新建和删除方法
package com.mike.io.eg;
import java.io.File;
import java.io.IOException;
/**
* @author mike
* @date 2020-11-25
* @desc 目录文件,新建和删除方法
*/
public class FileDemo3 {
public static void main(String[] args) {
//创建文件,如果文件存在则不创建返回false,反之返回true
File f1 = new File("F:\f1.txt");
try {
if (f1.createNewFile()) {
System.out.println("文件创建成功");
} else {
System.out.println("文件已经存在");
}
} catch (IOException e) {
e.printStackTrace();
}
//创建目录,如果此目录存在则不创建,如果此目录的上层目录不存在也不创建
File f2 = new File("F:\f2");
if (f2.mkdir()) {
System.out.println("目录创建成功");
} else {
System.out.println("目录创建失败");
}
//递归创建目录,如果上层目录不存在也会创建
File f3 = new File("F:\test\f3");
if (f3.mkdirs()) {
System.out.println("目录创建成功");
} else {
System.out.println("目录创建失败");
}
}
}
重命名文件
package com.mike.io.eg;
import java.io.File;
/**
* @author mike
* @date 2020-11-25
* @desc 重命名文件
*/
public class FileDemo4 {
public static void main(String[] args) {
File file1 = new File("F:\f2.txt"); // 被命名文件一定要存在
File file2 = new File("F:\f3.txt");
if (file1.renameTo(file2)) {
System.out.println("重命名成功");
} else {
System.out.println("重命名失败");
}
}
}