java代码 读取一个文件夹下的所有文件夹及里面的文件。
爬虫爬下来一些分类的html文件,然后要把它们去除标签转生成新的txt文件,但是只会写处理一个文件夹下面的文件,它不会深入到文件夹里面的文件夹里的文件。各位大神能请教一下...
爬虫爬下来一些分类的html文件,然后要把它们去除标签转生成新的txt文件,但是只会写处理一个文件夹下面的文件,它不会深入到文件夹里面的文件夹里的文件。
各位大神能请教一下怎么弄吗?
或者能百度hi 我或者 Q我535623384 ,赐教一下啦! 展开
各位大神能请教一下怎么弄吗?
或者能百度hi 我或者 Q我535623384 ,赐教一下啦! 展开
3个回答
展开全部
我给你个例子,你把其中的路径File file = new File("c:\\tmp\\5");改成你的路径就行了。
public class Test2
{
public static void main(String[] args)
{
File file = new File("c:\\tmp\\5");
Test2 t = new Test2();
t.method(file);
}
public void method(File f)
{
File[] FList = f.listFiles();
for (int i = 0; i < FList.length; i++)
{
if (FList[i].isDirectory()==true)
{
method(FList[i]);
}
else
{
System.out.println(FList[i].getAbsolutePath());
}
}
}
}
public class Test2
{
public static void main(String[] args)
{
File file = new File("c:\\tmp\\5");
Test2 t = new Test2();
t.method(file);
}
public void method(File f)
{
File[] FList = f.listFiles();
for (int i = 0; i < FList.length; i++)
{
if (FList[i].isDirectory()==true)
{
method(FList[i]);
}
else
{
System.out.println(FList[i].getAbsolutePath());
}
}
}
}
追问
能在百度hi上讨论一下麽?hi你了……
追答
我也hi你了。上面的例子程序是一个简单的递归程序。
展开全部
package p;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class 遍历文件 {
//上一个文件
String lastFile = "" ;
//没能得到的文件
List<String> errFile = new ArrayList<String>() ;
/**
* 递归遍历
*/
public void getFiles(File dir){
File[] fz = dir.listFiles() ;
if(fz == null){
errFile.add(lastFile) ; //这个文件不能读取(多少系统的什么文件夹)
return ;
}
for (int i = 0; i < fz.length; i++) {
if(fz[i].isDirectory()){//目录
lastFile = fz[i].getAbsolutePath() ; //保存这个是 可能无法对此文件操作
getFiles(fz[i]) ;
}else {
//这里是对 fz[i] 这个文件的处理
System.out.println(fz[i]);
}
}
}
//不能读取的文件
public void out(){
for (int i = 0; i < errFile.size(); i++) {
System.out.println(errFile.get(i));
}
}
public static void main(String[] args) {
遍历文件 aa = new 遍历文件();
aa.getFiles(new File("M:"));
System.out.println("_________________________");
aa.out() ;
}
}
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class 遍历文件 {
//上一个文件
String lastFile = "" ;
//没能得到的文件
List<String> errFile = new ArrayList<String>() ;
/**
* 递归遍历
*/
public void getFiles(File dir){
File[] fz = dir.listFiles() ;
if(fz == null){
errFile.add(lastFile) ; //这个文件不能读取(多少系统的什么文件夹)
return ;
}
for (int i = 0; i < fz.length; i++) {
if(fz[i].isDirectory()){//目录
lastFile = fz[i].getAbsolutePath() ; //保存这个是 可能无法对此文件操作
getFiles(fz[i]) ;
}else {
//这里是对 fz[i] 这个文件的处理
System.out.println(fz[i]);
}
}
}
//不能读取的文件
public void out(){
for (int i = 0; i < errFile.size(); i++) {
System.out.println(errFile.get(i));
}
}
public static void main(String[] args) {
遍历文件 aa = new 遍历文件();
aa.getFiles(new File("M:"));
System.out.println("_________________________");
aa.out() ;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可是使用递归读取啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询