黑马程序员:File类

黑马程序员: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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值