哪位大侠帮忙把下面的程序改成在Linux上运行的...先谢过~因为对Linux不熟,改了好久都没搞定... 郁闷死了...代码如下:import java.io.File;public class FilesCount {
private static int n = 0;
public void readFolderByFile(String filePath)
{
File file = new File(filePath);
File[] tempFile = file.listFiles();
File[] Files = new File[10000];
for(int i = 0;i<tempFile.length;i++)
{
if(tempFile[i].isDirectory()){
readFolderByFile("/"+tempFile[i]);
}
else
{
Files[n] = tempFile[i];
System.out.println("Files"+"["+n+"]"+" "+Files[n]);
n++;
}
}
}
public static void main(String[] args){
FilesCount sf = new FilesCount();
sf.readFolderByFile(args[0]);
System.out.println("The total of Files is"+" "+n);
}
}
private static int n = 0;
public void readFolderByFile(String filePath)
{
File file = new File(filePath);
File[] tempFile = file.listFiles();
File[] Files = new File[10000];
for(int i = 0;i<tempFile.length;i++)
{
if(tempFile[i].isDirectory()){
readFolderByFile("/"+tempFile[i]);
}
else
{
Files[n] = tempFile[i];
System.out.println("Files"+"["+n+"]"+" "+Files[n]);
n++;
}
}
}
public static void main(String[] args){
FilesCount sf = new FilesCount();
sf.readFolderByFile(args[0]);
System.out.println("The total of Files is"+" "+n);
}
}
解决方案 »
- 关于查找数据库的问题
- 如何在论坛上添加代码块
- samatupload & commonsupload 对比
- java泛型可以派生子类实例吗?
- 用java编写了几个类,这几个类配合完成一个流程,我想测试一下这个流程,请问有什么好的测试工具吗?junit 好像只能对一个类进行测试
- java的环境变量配置有问题
- 怎么样可以让Java源文件和数据库可以直接被运行(类似.exe文件)
- 大家帮我选一个主题(谢谢)
- 各位大侠:如何将一个char型转换成2个byte??
- File 绝对高手请进 -> 除了File构造函数外, 有什么方法能将 一个File 放入另一个File中吗?
- 连接sql第三方驱动的问题,请高手帮帮忙,急急急
- 菜鸟问题:求教数据格式转换的问题,小弟谢了!(50分)
private static int n = 0;
private final int LEN=1000;//这里加个常量
public void readFolderByFile(String filePath)
{
File file = new File(filePath);
File[] tempFile = file.listFiles();
File[] Files = new File[LEN];
for(int i = 0;i<tempFile.length&&n<LEN;i++) //这里改一下
{
if(tempFile[i].isDirectory()){ readFolderByFile("//"+tempFile[i]);//Linux下
//readFolderByFile("/"+tempFile[i]);//Windows下
}
else
{
Files[n] = tempFile[i];
System.out.println("Files"+"["+n+"]"+" "+Files[n]);
n++;
}
}
}
public static void main(String[] args){
FilesCount sf = new FilesCount();
sf.readFolderByFile(args[0]);
System.out.print("The total of Files is ");
if(n==sf.LEN) System.out.print("more than ");
System.out.println(n);
}
}
at java.io.File.File(java.lang.String, java.lang.String) (/usr/lib/libgcj.so.5.0.0)
at java.io.File.File(java.io.File, java.lang.String) (/usr/lib/libgcj.so.5.0.0)
at java.io.File.performList(java.io.FilenameFilter, java.io.FileFilter, java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
at java.io.File.listFiles() (/usr/lib/libgcj.so.5.0.0)
at FilesCount.readFolderByFile(java.lang.String) (Unknown Source)
at FilesCount.main(java.lang.String[]) (Unknown Source)真是无语了.....
private static int n = 0;
public void readFolderByFile(String filePath)
{
File file = new File(filePath);
File[] tempFile = file.listFiles();
File[] Files = new File[tempFile.length];
for(int i = 0;i<tempFile.length;i++)
{
if(tempFile[i].isDirectory()){
readFolderByFile(filePath+"/"+tempFile[i]);
}
else
{
Files[n] = tempFile[i];
System.out.println("Files"+"["+n+"]"+" "+Files[n]);
n++;
}
}
}
public static void main(String[] args){
FilesCount sf = new FilesCount();
sf.readFolderByFile(args[0]);
System.out.println("The total of Files is"+" "+n);
}
}
例如我现在用的root用户名 当前目录为 /或/root时
则我打 java FilesCount / 或java FilesCount /root 或java FilesCount /usr 等都可以
但当我在 /usr 或 /tmp 下打上面的就不行 就会出现你说的错误
这可能是Linux的目录结构本身的原因