IO操作系列之文件类型获取

什么是IO操作?


数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了。那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把这些数据读出来继续使用呢?其实要把数据持久化存储,就需要把内存中的数据存储到内存以外的其他持久化设备(硬盘、光盘、U盘等)上。
当需要把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作。
当把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作。因此我们把这种输入和输出动作称为IO操作
 
File的创建
 
创建File实际上是对路径的封装Filefile=new File(parent,"a.txt");
  判断文件是否存在file.exists() 判断是文件还是目录(也就是文件夹)
   f.isFile()   判断是文件   f.isDirectory()  判断是否是目录


需求:判断文件是否是.doc或是.txt文件,并将这些文件过滤出来。
使用方法:文件过滤器:使用方法FileFilter()

Filea=new File("F:\\abc\\a.txt")//文件路径
a.getName();//获取路径中的最后部分的名字
 
Filefile=new File("文件路径");
File[]fileArr=file.listFiles(new MyFilter());
 
//增强for循环进行遍历
for(File f :fileArr){
System.out.println(f);
}
 
//建立一个类,实现滤镜的功能
 
public classMyFilter implements FileFilter{
publicboolean accept(File pathname)  {
/*
 * pathname 接受到的也是文件的全路径
 *对路径进行判断,如果是.doc文件,返回true,不是java文件,返回false
 *文件的后缀结尾是.doc
 */
Stringname = pathname.getName();
If(name.endsWith(.txt) or name.endsWith(.doc)){
Return true;
}
 
}
}


借此介绍一下匿名内部类,可以简化我们的代码.
匿名内部类,不需要我们再重新创造一个类
New 父类或是接口 平常不常用
File[]fileArr=file.listFiles(new MyFilter(){
publicboolean accept(File pathname)  {
Stringname = pathname.getName();
If(name.endsWith(.txt) or name.endsWith(.doc)){
Return true;
}
 
}
 
});

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值