怎样遍历输入某个目录的文件并把它他打印出来并保存到一个文本文档中?

怎样遍历输入某个目录的文件并把它他打印出来?
我已经实现了第一步,就是把它们都在控制台输出来了。
第二步要把它们存到一个文本文档中去,不知道该怎么做了。请各位指点!!
下面是我的代码:
[code="java"]package com.jqqd.ywc;

import java.io.File;

public class FileSeacherImpl {

public void seacherFile(String s) {
    // TODO Auto-generated method stub
    File dir = new File(s);
    if (dir.exists()) {
        if (dir.isFile()) {
            System.out.println(s + "is an file!");
        } else {
            File[] dirList = dir.listFiles();

            for (int i = 0; i < dirList.length; i++) {
                if (dirList[i].isFile()) {
                    System.out.println(dirList[i] + "is an file!");

                } else {
                    seacherFile(dirList[i].toString());
                }
            }

        }
    } else {
        System.out.println(s + "is not existed!");
    }

}

public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub
    FileSeacherImpl fs = new FileSeacherImpl();
    fs.seacherFile("E:/");

}

}
[/code]

2个回答

大概这样:

[code="java"]
package com.jqqd.ywc;

import java.io.File;

public class FileSeacherImpl {

static FileOutputStream outFile;

static{
    try {
        outFile = new FileOutputStream("e:/test.txt");
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
}

public void seacherFile(String s) throws IOException {
    File dir = new File(s);
    if (dir.exists()) {
        if (dir.isFile()) {
            System.out.println(s + " is an file!");
            writeToFile(s);
        } else {
            File[] dirList = dir.listFiles();
            for (int i = 0; i < dirList.length; i++) {
                if (dirList[i].isFile()) {
                    System.out.println(dirList[i] + " is an file!");
                    writeToFile(dirList[i].getName());
                } else {
                    seacherFile(dirList[i].toString());
                }
            }
        }
    } else {
        System.out.println(s + "is not existed!");
    }
}

private void writeToFile(String content){
    try {
        outFile.write(content.getBytes());
    } catch (IOException e) {
        e.printStackTrace();
    }
}

[/code]

把输出到控制台的代码换成
[code="java"]FileOutputStream outFile = new FileOutputStream("e:/test.txt");
outFile.write(string.getBytes());
[/code]
就可以了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问