关闭

黑马程序员:File类

304人阅读 评论(0) 收藏 举报

黑马程序员:File类


---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------


File类
 
用来将文件或者文件夹封装成对象
 
方便对文件与文件夹进行操作
 
File对象可以作为参数传递给流的构造函数。
 


它实现的接口有Serialiable和Comparable<File>
 
因此它是可以序列化的,具有比较的功能。
 
此类呈现分层路径名的一个抽象的,与系统无关的视图,
 
抽象路径中有两个组件:
 
1)一个可选的与系统有关的前缀字符串,比如盘符,"/"表示UNIX中的根目录,\\\\表示Microsoft windows Unc路径名
 
2)零个或更多字符串名称的序列
 类的实例是不可变的;也就是说,一旦创建,File对象表示的抽象路径名将永不改变。

 

它有四个字段两个是表示平台无关的目录符,两个是平台无关的目录分隔符
 
pathSeparator     pathSeparatorChar    separator    separatorChar
 

有四个构造方法
 
1)File(File parent,String child)
 
根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
 
2)File(String pathname)
 
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
 
3)File(String parent,Strig child)
 
根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
 
4)File(URI uri)
 
通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。
 
下面了解几个常用的方法
 
boolean  createNewFile()当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
 
boolean delete()删除此抽象路径名表示的文件或目录
 
void deleteOnExit()在虚拟机终止时,请求删除此抽象路径表示的文件或目录
 
boolean exists()测试此抽象路径名的文件或目录是否存在
 
String getName()返回由此抽象路径名表示的文件或目录的名称
 
boolean isDirectory()测试此抽象路径名表示的文件是否是一个目录
 
boolean isFile()测试此抽象路径名表示的文件是否是一个标准文件
 
long length()返回文件的长度
 

String[]  list()返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
 
String[] list(FilenameFilter filter)返回一个字符串数组这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录
 
File[]   listFiles()返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件
 
File[] listFiles(FileFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
 
File[]   listFiles(FilenameFilter  filter)返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
 
static File[]   listRoots()列出可用的文件系统要
 
boolean mkdir() 创建此抽象路径名指定的目录
 
boolean mkdirs()创建此抽像路径名指定的目录,包括所有必需但不存在的父目录
 
演示示例
 
列出指定目录下文件或者文件夹,包含子目录,的内容也就是列出指定目录下所有内容

 package Demo;
 
import java.io.File;
public class ListFiles {

static int i=1;//显示行号

public static void main(String[] args) {
 
    File f=new File("D:\\olddownload");

     showDir(f);

}

public static void showDir(File dir){  
 
        System.out.println(dir);  
         File[] files=dir.listFiles();

         for(int x=0;x<files.length;x++){   
 
                if(files[x].isDirectory())    showDir(files[x]);

         else    System.out.println(i+++":  "+files[x]);


 
} }   
 1:限定条件
 2:要注意递归的次数,尽量避免内在溢出


---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4467次
    • 积分:186
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档