1.递归遍历所有文件 并在控制台输出
2.获取某个绝对地址文件目录下的以txt结尾的文件 递归遍历获取file存到list中 然后用用流写到自己创建的文件中
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class file {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File dir = new File("F:\\7X");
//dfs(dir, 0);递归文件目录
List<File> list = new ArrayList<File>();//获取所有txt文件
dfs2(dir, list);
test(list, "F:wzz2.txt");
}
static void put(int x){
StringBuilder sb = new StringBuilder();
for(int i = 0; i < x; i++){
sb.append(' ');
}
System.out.print(sb.toString());
}
static void dfs(File dir, int dep){
put(dep);
System.out.println(dir.getName());
if(dir.isFile())
return;
File[] fs = dir.listFiles();
for(int i = 0; i < fs.length; i++){
dfs(fs[i], dep+1);
}
}
static void dfs2(File dir, List<File> list){
if(dir.isFile())
{
if(dir.getName().endsWith("txt"));
list.add(dir);
return;
}
File[] fs = dir.listFiles();
for(File f : fs){
dfs2(f, list);
}
}
static void test(List<File> list, String name){
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter("F:\\fd4.txt"));
for(File f : list){
bw.write(f.getAbsolutePath());
bw.newLine();
bw.flush();
}
} catch (IOException e) {
// TODO: handle exception
}
finally{
try {
if(bw!=null)
bw.close();
} catch (IOException e2) {
// TODO: handle exception
}
}
}
}
流只能操作数据。
File 类
用来将文件或者文件夹封装成对象。
方便文件与文件夹进行操作
File对象可以作为参数传递给流的构造函数。
可以将已有的和已出现的文件或者文件夹封装成对象
File a = new File(“a.txt”);
File类常见方法:
1 创建
boolean creatNewFile() :当且仅当不存在具有此抽象路径名指定的名称的文件时,地创建由此抽象路径名指定的一个新的空文件
boolean mkdir():创建文件夹。
boolean mkdirs():创建多级文件夹
2 删除
boolean delete():如果文件正在使用,则删除不了返回false
void deleteOnExit():在程序退出时删除指定文件
3 判断
boolean exists():文件是否存在
ifFile ()
isDirectory()
ifHidden()
isAbsolutePath()
4 获取信息
getName()
getPath()
getParent():该方法返回的是绝对路径中的父目录,如果获取的是相对路径,返回null 如果相对路径中有上一层目录那么该目录就是返回结果。
getAbsolutePath()
lastModidied()
length():在判断文件对象是否是文件或者目的是,必须要判断该文件对象封装的内容是否存在。通过exists判断,(因为文件或文件夹不存在也会返回false)
原文地址:http://blog.csdn.net/u011686226/article/details/37884077