Java学习之路(十一):IO流<前戏>
File类的概述和构造方法
构造方法:
- File(String pathname):根据一个路径得到File对象
- File(String parent,String child):根据一个目录和一个子文件/目录 得到File对象
- File(File parent,String child):根据一个父File对象和一个子文件/目录得到File对象
File更应该叫做一个路径,文件 路径 或者 文件夹 路径
File是指文件或者目录路径名的抽象表示形式
创建功能:
- public boolean createNewFile():创建文件,如果存在这样的文件,就不会创建了
- public boolean mkdir():创建一个文件夹(目录),如果存在这样的文件夹就不再创建了
- public boolean mkdir():迭代着创建文件夹,多层文件夹嵌套创建
重名名和删除功能:
- public boolean renameTo(File dest):把文件重名为指定的文件路径(和Linux一样,重名名其实就是剪贴粘贴)
- public boolean delete():删除文件或者文件夹(这种删除是不经过回收站的)
判断功能:
- public boolean isDirectory():判断是否是空目录
- public boolean isFile():判断是否是文件
- public boolean exists():判断是否存在
- public boolean canRead():判断是否可读
- public boolean canWrite():判断是否可写
- public boolean isHidden():判断是否隐藏
获取功能:
- public String getAbsolutePath():获取绝对路径
- public String getPath():获取路径
- public String getName():获取名称
- public long length():获取长度(文件的字节数)
- public long lastModified():获取最后一次的修改时间,毫秒值
- public String[] list():获取指定目录下的所有文件或者文件夹的名称 数组
- public File[] listFile():获取指定目录下的所有文件或者文件夹的File数组
我们自己实现一个文件名过滤器
package null08012133; import java.io.File; public class Demo01 { public static void main(String[] args) { // TODO Auto-generated method stub File file = new File("C:/"); File[] fileList = file.listFiles(); for(File fileObj:fileList){ if(fileObj.isFile()&&fileObj.getName().endsWith(".sys")){ System.out.println(fileObj.getName()); } } } }
使用内置的一些方法进行判断
package null08012133; import java.io.File; import java.io.FilenameFilter; public class Demo02 { public static void main(String[] args){ File file = new File("C:/"); String[] fileNames = file.list(new FilenameFilter(){ @Override public boolean accept(File dir, String name) { // TODO Auto-generated method stub File f = new File(dir,name); return f.isFile()&&name.endsWith(".sys"); } }); for(String fileName:fileNames){ System.out.println(fileName); } } }