File类
创建File对象
如果指定参数不存在,返回空对象。
1.File f1=new File("c:\\abc\a.txt");//将a.txt封装成FIle对象,可以将已有的和未出现的文件或者文件夹封装成对象。
2.File f2=new File("c:\\abc","a.txt"); 第一个参数代表的是目录,第二个参数代表的是目录下的文件。
3.file f=new File("c\\abc"); 将路径封装成对象
File f3=new File(f,"a.txt"); 调用路径对象
4.File f4 = new File("c:"+File.separator+"abc"+File.separator+"a.txt");//File.separator获取系统默认的目录分隔符(\\,windows)
常见方法:
1.创建
boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false
案例 :
File f=new File("a.txt");
f.createNewFile();
创建一级目录
File dir=new File("abc");
dir.mkdir();
创建多级目录
dir.mkdirs();
2.删除
boolean f.delete(); 删除失败,返回false,可能不能删除
void deleteOnExit();在程序退出时,删除指定文件。必须删除。不会失败
3.判断 :在判断文件对象是都是文件或者目的时候,必须要先判断该文件对象封装的内容是否存在。
File f=new File("a.txt");
f.exits();返回boolean 文件或文件夹是否存在,是返回true。
f.canExecute();是否能执行。canRead(),canWrite()
是否是目录
f.isDirectory();
是否是文件
f.isFile();
是否是隐藏的
f.isHidden();
是否是绝对路径
f.isAbsolute();
4.获取信息。
getName() //获取文件或文件夹名称(不包含目录)
getpath() //获取完全路径。
getAbsolutePath() //获取绝对完全路径
getParent() //获取绝对路径下的父路径,没有父路径或者出错返回null。getParentFile()效果一样
lastModified()//获取最后一次修改时间
length();//获取体积大小
5.其他
renameTo();改名,重命名,如果修改路径的话,同时路径也会修改
f1.renameTo(f2);
listRoots();返回 File 数组,列出可用的文件系统根(盘符)
例子:
File[] files=File.listRoots();
for(File f: files)
{
//
}
list():返回String[],记录着当前目录下所有文件及文件夹。为目录为空,数组长度为0
listFiles();返回File[] 当前路径下的文件和文件夹。这个比较好用,因为返回File对象
File f=new File("abc");
String[] namess=f.list();//调用list方法的file对象必须封装了一个目录,把那个目录必须存在
for(String f: names)
{
//
}
list(FilenameFilter Filter) 返回String[] 目录中满足过滤器的文件和目录。
listFiles(FilenameFilter Filter);返回File[] 目录中满足过滤器的文件和目录。
File dir=new File("abc");
String[] namess=f.list(new SuffixFilter(".bmp"))
public class SuffixFilter implements FilenameFilter {//实现FilenameFilter接口
private String suffix ;
public SuffixFilter(String suffix) {
super();
this.suffix = suffix;
}
@Override
public boolean accept(File dir, String name) {
return name.endsWith(suffix);
}
}
FIle dir=new File("c:\\");
File[] files=dir.listFiles();
for(File f : files)
{
S(f.getname())
}
|
|