java怎么读取文件夹下的所有文件

Python014

java怎么读取文件夹下的所有文件,第1张

\\copy

自己加的注释

public

class

listfile{

static

public

void

main(string[]

str)throws

exception{

file

f=null

bufferedreader

read=new

bufferedreader(new

inputstreamreader(system.in))

//接受控制台的输入

system.out.println("请输入一个目录:")

//提示输入目录

string

path=read.readline()

//获取路径

f=new

file(path)

//新建文件实例

file[]

list=f.listfiles()

/*

此处获取文件夹下的所有文件

*/

for(int

i=0i

评论

0

0

加载更多

以下java程序的作用是将当前目录及其子目录中的.java文件收集到collection.txt文件中,并添加行号,你可以参考一下。

import java.io.*

public class Collection

{

public static void main(String[] args) throws Exception

{

final String F=".\\collection.txt"

FW=new FileWriter(new File(F))

Collection.ProcessDirectory(new File("."))

Collection.FW.flush()

Collection.FW.close()

}

private static void ProcessDirectory(File d) throws Exception

{

File[] ds=null

Collection.ProcessJavaFile(d)

ds=d.listFiles(Collection.DFilter)

for(int i=0i<ds.lengthi++)

{

Collection.ProcessDirectory(ds[i])

}

}

private static void ProcessJavaFile(File d) throws Exception

{

String line=null

LineNumberReader lnr=null

File[] fs=d.listFiles(Collection.FNFilter)

for(int i=0i<fs.lengthi++)

{

lnr=new LineNumberReader(new FileReader(fs[i]))

Collection.FW.write(fs[i].getCanonicalPath()+"\r\n")

System.out.println(fs[i].getCanonicalPath())

while(null!=(line=lnr.readLine()))

{

Collection.FW.write(""+lnr.getLineNumber()+" "+line+"\r\n")

System.out.println(""+lnr.getLineNumber()+" "+line)

}

Collection.FW.write("\r\n")

System.out.println()

}

}

private static FileWriter FW

private static FilenameFilter FNFilter=new FilenameFilter()

{

public boolean accept(File dir,String name)

{

return name.endsWith(".java")

}

}

private static FileFilter DFilter=new FileFilter()

{

public boolean accept(File pathname)

{

return pathname.isDirectory()

}

}

}