比方说 我有很多文件夹
我要快速的产生一个个日志文件txt格式的
每一个日志文件对应一个文件夹,里面包含这个文件夹内所有文件的基本信息
如何用io流快速的实现输出

解决方案 »

  1.   

    import java.io.*;
    class  TestP
    {
    public static void main(String[] args) 
    {
    File s = new File("e:/1");
    log(s);
    Play(s);
    } public static void Play(File f) {
    File[] child = f.listFiles();
    for(int i = 0;i < child.length;i++){
    if(child[i].isDirectory()){
    log(child[i]);
    Play(child[i]);
    }
    }
    }

    public static void log(File currentFile){
     String[] s = currentFile.list();
     for(int i = 0; i < s.length;i++){
     StringBuffer sb = new StringBuffer();
     File temp = new File("f:/",currentFile.getName()+".txt");
     FileWriter wri = null;
    try {
    wri = new FileWriter(temp);
    } catch (IOException e) {
    e.printStackTrace();
    }
    BufferedWriter bw = new BufferedWriter(wri);
    for(String a:s){
    sb.append(a);
    sb.append("\n");
    }
    try {
    bw.write(sb.toString());
    } catch (IOException e) {
    e.printStackTrace();
    }
    try {
    bw.flush();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }//close for

    }
    }
    能够完成你的要求,读取一个目标文件夹下的所有文件以及子文件夹的所有文件,并输出到指定位置,以当前文件夹名字为文档名称。
      

  2.   

    用 BufferedWriter,这个是字符流,可以一行一行的写入。
      

  3.   

    可不可以用其他IO流的
    BufferWriter感觉效率不高啊