File
Java程序中用来表示文件对象或者文件夹对象的类
//使用File对象来描述一个文件
File f = new File("E:\\abc"); // E:\三生三世.OGG
//获取文件名
String name = f.getName();
//获取文件路径
String path = f.getPath();
//获取绝对路径
String absPath = f.getAbsolutePath();
boolean isFile = f.isFile();
System.out.println("是否是文件:"+isFile);
//检测文件是否存在
boolean r = f.exists();
文件操作
创建文件
boolean r = f.createNewFile();
创建文件夹(一级目录)
boolean r = f.mkdir();
创建文件夹(多级目录)
boolean r = f.mkdirs();
文件夹遍历
//遍历所有的文件(名称)
String[] names = f.list();
结合文件名过滤器遍历出满足条件的子文件/子文件夹
String[] names = f.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
});
遍历子级文件/文件夹对象
File[] fs = f.listFiles();
// 根据文件名过滤
File[] fs = f.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".avi") || name.endsWith(".mp4");
}
});
//根据文件对象来过滤
File[] fs = f.listFiles(new FileFilter() {
@Override
public boolean accept(File file) {
String name = file.getName();
return name.endsWith(".avi") || name.endsWith(".mp4");
}
});
文件删除
boolean isOk = f.delete()
//程序退出时删除
f.deleteOnExit();
文件夹删除,注意文件夹在删除时必须保证文件夹为空文件夹(没有子级)
重命名文件
boolean isOk = f.renameTo(nF);
注意如果新的文件(目标)和原来文件不在同一文件夹下,该方法实现了“剪切”功能
文件大小
long len = nF.length();
修改时间(毫秒数)–>可以使用SimpleDateFormat转换
long time = nF.lastModified();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = sf.format(new Date(time));
System.out.println(s);