黑马程序员技术交流社区
标题:
File类
[打印本页]
作者:
李云贵
时间:
2014-7-24 09:17
标题:
File类
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())
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2