递归读取某个目录下的所有文件和文件夹
import java.io.*;
import java.net.*;
public class Clients
{
public String s = null;
final static void getFiles(String filePath)
{
//try
{
File f = new File(filePath);
File [] fs = f.listFiles();
for (int i = 0; i < fs.length; i++)
{
if (fs[i].isDirectory())
{
System.out.println("--" + fs[i].toString());
getFiles(fs[i].toString());
}
else
{
System.out.println("----" + fs[i].toString());
}
}
}
// catch(Exception e)
{}
} public static void main(String[] args) throws IOException
{
///try{
System.out.print("Please give a directory : ");
byte[] b = new byte[2048];
String msg = new String(b,0,System.in.read(b));
System.out.println(msg);
getFiles("D:\\");
//}
//catch(Exception e){}
}我测试,能够实现功能,但发现这么几个明显的问题:内存溢出和运行时CPU使用了100%,这些问题都很大当然还有很多很多的问题,大家来看看,比如编程规范等等
import java.io.*;
import java.net.*;
public class Clients
{
public String s = null;
final static void getFiles(String filePath)
{
//try
{
File f = new File(filePath);
File [] fs = f.listFiles();
for (int i = 0; i < fs.length; i++)
{
if (fs[i].isDirectory())
{
System.out.println("--" + fs[i].toString());
getFiles(fs[i].toString());
}
else
{
System.out.println("----" + fs[i].toString());
}
}
}
// catch(Exception e)
{}
} public static void main(String[] args) throws IOException
{
///try{
System.out.print("Please give a directory : ");
byte[] b = new byte[2048];
String msg = new String(b,0,System.in.read(b));
System.out.println(msg);
getFiles("D:\\");
//}
//catch(Exception e){}
}我测试,能够实现功能,但发现这么几个明显的问题:内存溢出和运行时CPU使用了100%,这些问题都很大当然还有很多很多的问题,大家来看看,比如编程规范等等
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货