JAVA怎样做到对txt文件读取后,按每一行来循环

有一个文件夹,对所有文件做了一次循环,然后要在循环内部对每个文件的行做一次循环操作,应该怎么做呢?

你可以是使用递归操作

public static void main(String[] args) throws Exception {// 方法测试
        File fileDir = new File("C:/Users/Administrator/Desktop/新建文件夹");
        fun(fileDir);
    }

    public static void fun(File fileDir) {
        if (fileDir.exists()) {// 判断文件夹是否存在
            File[] files = fileDir.listFiles();// 获取文件夹下所有的文件
            for (int i = 0; i < files.length; i++) {
                if (files[i].isDirectory()) {// 如果是目录文件,递归调用
                    fun(files[i]);
                } else {// 否则的话就进行自己的操作
                    System.out.println(files[i].getPath() + "/"
                            + files[i].getName());
                    // 你要进行的操作
                }
            }
        }
    }

追问

额,好像跟我说的不太一样。我是已经对每个文件循环了,但是在这个循环内部想嵌套一个能按行循环的操作。也就是,每次打开一个文件,就对一行进行一次操作

追答

需求不明确。
你说的操作是要实现什么,
这个一行一行的说法,
貌似没几个人看的懂

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-06
递归

送上代码:

import java.io.*;

class FileDirs
{
File dir;

FileDirs(File dir)throws IOException
{
this.dir = dir;
getFiles(dir);
}

public void getFiles(File dir) throws IOException
{
File[] list = dir.listFiles();
for(int i = 0;i<list.length;i++)
{
if(list[i].isDirectory())
{
getFiles(list[i]);
}
else
{
if(list[i].getName().endsWith(".java"))
System.out.println(list[i].toString());
}
}

}

public static void main(String[] args)throws IOException
{
File dir = new File("C:\\Users\\Sho W\\Desktop\\java\\Code");
new FileDirs(dir);
}

}