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