Java基础-IO流文件的高级获取功能

文件的高级获取功能

  • public String[] list()
    获取当前路径的所有文件的名字放到数组里,如果File对象关联的不是一个路径,那么返回值为null
  • public file[] listfiles()
    把当前路径下面的所有文件 封装成一个file对象 这样的话我们就可以操作、判断
  • 对接口FilenameFilter的实现,即文件名过滤器
    对接口FilenameFilter的实现
package Object;

import java.io.File;
import java.io.FilenameFilter;

public class FileTest implements FilenameFilter{//filenamefilter接口的实现  即文件名过滤器

	@Override
	public boolean accept(File dir, String name) {
		// dir 文件的父路径  name 当前文件的名字
		File f = new File(dir,name); //利用当前的dir和name 创建一个file对象
		if(name.endsWith("ini") && f.isFile()){
			return true;
		}
		
		return false;
	}
	
}

利用文件名过滤器对文件名进行查找和处理
new FileTest是获取一个一次性的FileTest的对象。

package Object;

import java.io.File;
import java.io.IOException;
import java.lang.reflect.Field;
import java.sql.Date;
import java.text.SimpleDateFormat;


public class FileProtect {
	
	public static void main(String[] args) {
		File file = new File("D:\\");
		File[] fs = file.listFiles(new FileTest());//得到file对象数组
		for(File f:fs){
			System.out.println("当前是图片文件:"+f.getName()+"执行删除"+f.delete());
		}
	}
	public static void main3(String[] args) {
		File file = new File("D:\\");
		String[] names = file.list(new FileTest());//字符串数组
		for(String string :names){
			System.out.println(string);
		}
	}
	
	public static void main2(String[] args) {
		File file = new File("D:\\");
		File[] fs = file.listFiles();//得到的file对象数组
		for(File f:fs){
			System.out.println(f);
			//System.out.println(f.getName()+"-------->是否是文件:"+f.isFile());//判断当前文件是否为一个文件
			//System.out.println(f.getName().endsWith("++") && f.isFile());//以++为结尾的文件
		}
	}
	
	public static void main1(String[] args) {
	
		File file = new File("D:\\");
		String[] names = file.list();//得到的是一个string字符串数组
		for (String s:names){
			if(s.endsWith("++"))
			System.out.println(s);
		}
		
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值