File文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等,不能对文件内容进行操作。
- 通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例。
File(String pathname)
File file = new File("C:\\Users\\Mr.wang\\Desktop\\单词\\hello");
- 通过给定的父抽象路径名和子路径名字符串创建一个新的File实例。
File(File parent, String child);
File file4 = new File(file, "\\单词");
- 通过给定的父抽象路径名和子路径名字符串创建一个新的File实例。
File(String parent, String child)
- 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
File(String parent, String child)
File file3 = new File("C:\\Users\\Mr.wang\\Desktop\\单词", "\\单词");
- 通过将给定的 file: URI 转换成一个抽象路径名来创建一个新的 File 实例。
File(URI uri)
创建文件/删除文件/判断文件(目录)是否存在
if(!file.exists()) { //判断文件是否存在
file.mkdirs(); //创建目录
}else {
file.delete();
}
/* 创建文件 */
File file2 = new File("C:\\Users\\Mr.wang\\Desktop\\单词\\hello.txt");
if(!file2.exists()) { //判断文件(目录)是否存在
try {
file2.createNewFile(); 创建文件
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
file2.delete(); //删除文件
}
其他常用
System.out.println("是否是文件:"+file2.isFile());
System.out.println("是否是目录:"+file.isDirectory());
System.out.println(file.getPath()); //获得路径
System.out.println(file.getName()); //获得文件(目录)名
System.out.println(file.getParent()); //获得父类路径
System.out.println(file2.getPath());
System.out.println(file2.getName());
System.out.println(file2.getParent());
System.out.println(file2.getParentFile().getAbsolutePath());
/*返回文件下所有的文件*/
File file3 = new File("C:\\Users\\Mr.wang\\Desktop\\单词");
for( String filename: file3.list()) {
System.out.println(filename);
}
/*过滤小于1K的文件
File[] fs = file3.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
// TODO Auto-generated method stub
if(pathname.length()>=1024) {
return true;
}
return false;
}});*/
/*jdk1.8 Lambda 表达式 过滤小于1K的文件 */
File[] fs = file3.listFiles(
(pathname) -> {
return pathname.length()>1024?true:false;
}
);
for( File filename: fs) {
System.out.println(filename.getName());
}
更多详情
- 通过给定的父抽象路径名和子路径名字符串创建一个新的File实例。
- 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
- 通过将给定的 file: URI 转换成一个抽象路径名来创建一个新的 File 实例。