Java_IO流——File类(2)

File类使用练习1

1.输出指定目录下面指定后缀的文件名称
判断E盘目录下面是否有后缀命名为.txt的文件,如果有,就输出此文件名称。

2.分析:
(1).封装E盘目录
(2).获取该目录下面所有文件或者文件夹的File数组,用于判断是不是文件
(3).遍历该File数组,获取每一个File对象,然后判断
(4).是否是文件
是:继续判断是否是以.txt文件结尾
是:就输出该文件名称
否:就不管
否:就不管

3.改进:
使用文件名称过滤器改进
方法:
public String[] list(FlienameFilter filter)
public File[] listFile(FlienameFilter filter)
实现的时候需要实现里面一个接口并重写里面的accept()方法

分析:
(1).判断E盘目录下面是否有后缀命名为.txt的文件,如果有就直接输出
(2).先获取所有的,然后遍历的时候,依次判断,如果满足条件就输出
(3).获取的时候就已经是满足条件的了,然后输出即可。


4.代码实现:
public class Test {
public static void main(String[] args) {
//封装E判断目录
File file =new File("E:\\");
//获取该目录下面所有的文件或者是文件夹的File数组
String[] fileArray=file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
//直接返回满足条件的文件名称
return new File(dir,name).isFile()&&name.endsWith(".txt");
}
});
//遍历输出结果
for(String s:fileArray){
System.out.println(s);
}
}
}

-----------------------------------------------------

File类使用练习2

1.批量修改文件名称
把demo文件夹下面的数据测试_01.txt,数据测试_02.txt,数据测试_03.txt,数据测试_04.txt修改成为
数据测试结果_01.txt,数据测试结果_02.txt,数据测试结果_03.txt,数据测试结果_04.txt


2.思路
(1).封装目录
(2).获取该目录下面所有的文件的File数组
(3).遍历该File数组,得到每一个File对象
(4).拼接一个新的名称,然后重命名即可

3.代码实现
public class Test {
public static void main(String[] args) {
//封装
File file=new File("E:\\demo\\");
File[] fileArray =file.listFiles();
//遍历
for(File fl:fileArray){
String name=fl.getName();
System.out.println("origin name is:"+name);
//获取索引进行字符截取
int index=name.indexOf("_");
String numberString=name.substring(0, index);
String endString=name.substring(index,name.length());
//System.out.println(numberString);
String newName=numberString.concat("结果")+endString;
System.out.println("newName:"+newName);
File newFile=new File(file,newName);
//重命名
fl.renameTo(newFile);
}
}
}

猜你喜欢

转载自www.cnblogs.com/nwxayyf/p/9499171.html