---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
File类
此类是对文件和文件夹进行描叙的类,将文件或文件夹封装成File对象后可以对其进行操作,IO对文件的操作有限,而且不能操作文件夹。
File类常见操作
创建
createNewFile();在指定路径创建文件,如果文件已经存在,则不创建,返回false,这个跟IO中输出流不同,文件不再输出流会创建,在的话就覆盖。在创建文件时要先判断文件是否存在,不存在则创建。
mkdir():创建一级文件夹
mkdirs():创建多级文件夹
调用该类的一个方法createNewFile(),但是在实际操作中需要注意一些事项,如判断文件是否存在,以及如何向新建文件中写入数据等。
删除
delete():删除失败返回false,文件正在使用删除不了也返回false,在Windows中,删除目录的话里面如果还有文件要先删除掉里面的再删除外面的。系统中如果有隐藏文件文件夹也会被删除,所以可以在删除前可以进行isHidden判断。但是在进行删除整个文件夹的时候里面隐藏的文件文件夹不删除,外面的文件夹是删不了的,这个要注意。
void deleteOnExit():程序退出时删除文件
判断
exists():判断文件是否存在
isFile()
isDirectory()
isHidden()
isAbsolute()
获取信息
list() 列出目录下所有文件和文件夹包括隐藏的,以String[]数组返回
listFiles() 列出目录下所有文件和文件夹包括隐藏的,以File[]数组返回
list(FilenameFilter)以过滤器的形式对列出来的文件进行过滤,以String[]数组返回
listFiles(FilenameFilter)以过滤器的形式对列出来的文件进行过滤,以File[]数组返回
getName()
getPahth()
getAbsoluteFile()//获取绝对路径封装成文件对象
getAbsolutPath()//获取绝对路径
getParent()
lastModified()
length()
getParent()//该方法返回的是绝对路径中的父目录,如果获取的是相对路径,返回null.
//如果相对路径中有一级目录,那么该目录就是返回结果
renameTo()
//以递归方式列出文件夹内文件内容,如果有子文件夹则也一并列出
public class FileDemo
{
public static void main(String args[])
{
File f = new File("e:"+File.separator);//实例化File类的对象
printFile(f);
}
public static void printFile(File f)
{
if(f!=null)//判断文件是否为空
{
if(f.isDirectory())//判断文件是否为文件夹
{
File files[] = f.listFiles();//列出文件
if(files!=null)
{//判断此目录能否列出
for(int i=0;i<files.length;i++)
{
printFile(files[i]);//递归调用判断是否为子文件夹
}
}
}
else
{
System.out.println(f);
}
}
}
}