import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class GetFilePathDemo {
/*
* 练习:获取指定文件夹下的扩展名文件,并将扩展名文件和绝对路径存放到文件夹中。
*/
public static void main(String[] args) {
File dir = new File("E:\\533433");
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".jpg");
}
};
List<File> list = new ArrayList<File>();
getFilePath(dir,filter,list);
File destFile = new File(dir,"jpgFile.txt");
writerToFile(list, destFile);
}
public static void getFilePath(File dir,FilenameFilter filter,List<File> list){
if(!dir.exists()){
throw new RuntimeException("对不起,你指定路径不存在。");
}
File[] files = dir.listFiles();
for(File file : files){
if(file.isDirectory()){
getFilePath(file,filter,list);
}else{
if(filter.accept(dir, file.getName())){
list.add(file);
}
}
}
}
public static void writerToFile(List<File> list,File destFile){
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter(destFile));
for(File file:list){
bw.write(file.getAbsolutePath());
bw.newLine();
bw.flush();
}
} catch (IOException e) {
throw new RuntimeException("写入失败");
}finally{
if(bw != null){
try {
bw.close();
} catch (IOException e) {
throw new RuntimeException("关闭流失败");
}
}
}
}
}
import java.io.File;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class GetFilePathDemo {
/*
* 练习:获取指定文件夹下的扩展名文件,并将扩展名文件和绝对路径存放到文件夹中。
*/
public static void main(String[] args) {
File dir = new File("E:\\533433");
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".jpg");
}
};
List<File> list = new ArrayList<File>();
getFilePath(dir,filter,list);
File destFile = new File(dir,"jpgFile.txt");
writerToFile(list, destFile);
}
public static void getFilePath(File dir,FilenameFilter filter,List<File> list){
if(!dir.exists()){
throw new RuntimeException("对不起,你指定路径不存在。");
}
File[] files = dir.listFiles();
for(File file : files){
if(file.isDirectory()){
getFilePath(file,filter,list);
}else{
if(filter.accept(dir, file.getName())){
list.add(file);
}
}
}
}
public static void writerToFile(List<File> list,File destFile){
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter(destFile));
for(File file:list){
bw.write(file.getAbsolutePath());
bw.newLine();
bw.flush();
}
} catch (IOException e) {
throw new RuntimeException("写入失败");
}finally{
if(bw != null){
try {
bw.close();
} catch (IOException e) {
throw new RuntimeException("关闭流失败");
}
}
}
}
}