黑马程序员技术交流社区
标题:
Java基础学习日记 - 建立一个文件列表(IO部分)
[打印本页]
作者:
qihuan
时间:
2015-7-15 09:22
标题:
Java基础学习日记 - 建立一个文件列表(IO部分)
package homeWork;
import java.io.*;
import java.util.*;
/**
* 练习:
* 将一个指定目录下的文件的绝对路径储存到一个文本文件中,
* 建立一个文件列表。
*
* 思路:
* 1.对指定目录进行递归。
* 2.获取递归过程所有的文件的路径。
* 3.将这些路径储存到集合中。
* 4.将集合中的数据写入到一个文件中。
*
* @author Qihuan
*
*/
public class JavaFileList {
public static void main(String[] args) {
//选择目标文件目录
File dir = new File("G:\\课程");
//创建集合,用来装文件目录
ArrayList<File> list = new ArrayList<File>();
//调用文件->集合方法
fileToList(dir,list);
//在指定目录创建一个列表文件
File f = new File(dir,"课程列表.txt");
//调用方法,将集合中的目录文件导入到文件
writeToFile(list,f);
}
//定义方法:将目录放到集合中
private static void fileToList(File dir, ArrayList<File> list) {
File[] files = dir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
fileToList(file, list);
} else {
if(file.getName().endsWith(".mp4") || file.getName().endsWith(".avi"))
list.add(file);
}
}
}
//定义方法:将集合中的内容写入到文件中
private static void writeToFile(ArrayList<File> list, File listFile) {
BufferedWriter bufw = null;
try {
bufw = new BufferedWriter(new FileWriter(listFile));
for (File file : list) {
String path = file.getAbsolutePath();
bufw.write(path);
bufw.newLine();
bufw.flush();
}
} catch (IOException e) {
throw new RuntimeException("写入失败!");
} finally {
try {
if(bufw != null)
bufw.close();
} catch (IOException e) {
throw new RuntimeException("关闭失败!");
}
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2