JAVA怎样做到对txt文件读取后,按每一行来循环
有一个文件夹,对所有文件做了一次循环,然后要在循环内部对每个文件的行做一次循环操作,应该怎么做呢?...
有一个文件夹,对所有文件做了一次循环,然后要在循环内部对每个文件的行做一次循环操作,应该怎么做呢?
展开
2个回答
展开全部
你可以是使用递归操作
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());
// 你要进行的操作
}
}
}
}
追问
额,好像跟我说的不太一样。我是已经对每个文件循环了,但是在这个循环内部想嵌套一个能按行循环的操作。也就是,每次打开一个文件,就对一行进行一次操作
追答
需求不明确。
你说的操作是要实现什么,
这个一行一行的说法,
貌似没几个人看的懂
展开全部
递归
送上代码:
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);
}
}
送上代码:
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询