当前位置 博文首页 > 用心编码:java 编程思想--I/O系统(一)
一、File
基础知识
File既可以表示特定的文件名称,又可以表示一个目录下的一组文件的名称。
File 类是java.io包中唯一代表磁盘文件本身的对象,主要作用是获取文件本省的一些信息(文件所在目录,文件长度,文件读写权限等)。
文件操作
创建文件、删除文件
@Test
public void test01() {
File file = new File("word.txt");
if (file.exists()) {
file.delete();
System.out.println("文件已删除");
} else {
try {
file.createNewFile();
System.out.println("创建新文件");
} catch (IOException e) {
e.printStackTrace();
}
}
}
获取文件属性
@Test
public void test02() {
File file = new File("word.txt");
if (file.exists()) {
String name = file.getName();
boolean canRead = file.canRead();
long length = file.length();
boolean isHidden = file.isHidden();
System.out.println("name:" + name + ", canRead:" + canRead + ", length:" + length + ", isHidden:" + isHidden);
} else {
System.out.println("文件不存在");
}
}
目录列表器
查看一个目录列表
方法一:采用不带参数的list()方法,获取File对象包含的全部列表。
方法二:采用目录过滤器来获取受限列表,比如只获取 “.java”文件。
// 将 accept(File dir,String name)方法提供给 list()方法使用,使list()可以回调accept()。
public class DirFilter implements FilenameFilter {
private Pattern pattern;
public DirFilter(String regex) {
pattern = Pattern.compile(regex);
}
public boolean accept(File dir, String name) {
return pattern.matcher(name).matches();
}
}
cs