1、File基本属性
package com.example;
import java.io.File;
public class MyFileLib {
public static void main(String[] args){
File file = new File("test.txt"); //创建一个文件,表示一个文件
System.out.println("文件名称:"+file.getName());//获取文件名称
System.out.println("文件相对路径:"+file.getPath());//获取文件相对路径
System.out.println("文件绝对路径:"+file.getAbsolutePath());//获取文件绝对路径
System.out.println("文件父路径:"+file.getParent());//获取父路径
System.out.println(file.canRead()?"文件可读":"文件不可读");//判断文件是否可度
System.out.println(file.canWrite()?"文件可写":"文件不可写");//判断文件是否可写
System.out.println(file.isFile()?"是一个文件":"不是一个文件");//判断是否是一个文件
System.out.println(file.isDirectory()?"是一个目录":"不是一个目录");//判断是否是一个目录
System.out.println(file.isAbsolute()?"是一个绝对路径":"不是绝对路径");//是不是一个绝对路径
System.out.println("最后修改时间为:"+file.lastModified());//最后修改时间
System.out.println("文件大小为:"+file.length()+"bytes");//获取文件大小
System.out.println("是否成功删除"+file.delete());//删除成功否
}
}
2、遍历当前目录下文件
package com.example;
import java.io.File;
//遍历一个目录下所有文件及文件夹
public class MyListFile {
public static void main(String [] args) throws Exception{
File file = new File("/home/lumeng/Downloads/studio_app/FactoryMode"); //创建file对象
if (file.isDirectory()) { //判断File对象对应的目录是否存在
String [] names = file.list(); //获取目录下的所有文件的文件名
for(String name:names) {
System.out.println(name); //输出文件名
}
}
}
}
3、筛选.java结尾的文件
package com.example;
import java.io.File;
import java.io.FilenameFilter;
//获取当前目录下以.java结尾的文件
public class MyFilterFile {
public static void main (String [] args) throws Exception{
//创建File对象
File file = new File("/home/lumeng/Downloads/studio_app/FactoryMode/");
//创建过滤器对象
FilenameFilter filter = new FilenameFilter() {
//实现accept 方法
@Override
public boolean accept(File dir, String name) {
File currFile = new File(dir, name);
//如果文件名是以.java结尾返回true,否则返回false
if (currFile.isFile() && name.endsWith(".java")) {
return true;
} else {
return false;
}
}
};
if (file.exists()){ //判断file对象对应的目录是否存在
String [] lists=file.list(filter);//获得过滤后的所有的文件数组
for (String name :lists) {
System.out.println(name);
}
}
}
}
4、遍历目录下所有文件
package com.example;
import java.io.File;
public class MyListAllFile {
public static void main (String [] args){
File file = new File("/home/lumeng/Downloads/studio_app/FactoryMode/"); //创建一个代表目录的File对象
fileDir(file); //调用FileDir递归方法
}
public static void fileDir(File dir){
File[] files=dir.listFiles();//获取表示目录下所有文件的数组
for(File file:files) { //遍历所有子目录和文件
if (file.isDirectory()){
fileDir(file); //如果是目录,递归调用fileDir()
}
System.out.println(file.getAbsolutePath()); //输出文件绝对路径
}
}
}
5、删除文件和目录
package com.example;
import java.io.File;
public class MyFileDelete {
public static void main(String [] args) {
File file = new File("/home/lumeng/Downloads/studio_app/FactoryMode/"); //创建一个代表目录的File对象
deleteDir(file);//调用deleteDir方法删除
}
public static void deleteDir(File dir){
if (dir.exists()){ //判断传入的File对象是否存在
File[] files = dir.listFiles(); //得到File数组
for(File file : files){ //遍历所有的子目录和文件
if (file.isDirectory()){
deleteDir(file);
} else {
file.delete();//如果是文件删除
}
}
dir.delete();//删除完目录里面的文件后,就删除这个目录
}
}
}
参考文档:
Java基础入门 传智博客高教产品研发部
本人郑重声明,本博客所著文章、图片版权归权利人持有,本博只做学习交流分享所用,不做任何商业用途。访问者可將本博提供的內容或服务用于个人学习、研究或欣赏,不得用于商业使用。同時,访问者应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人的合法权利;如果用于商业用途,须征得相关权利人的书面授权。若以上文章、图片的原作者不愿意在此展示內容,请及时通知在下,將及时予以刪除。