日期:2014-05-20  浏览次数:20715 次

巨难问题,只有真正的高手才知道。
我要做一个JTree,显示从系统根目录开始浏览本地文件(就像windows资源管理器默认的那样),应该怎么弄?
据我所知,
new   File( "d:\\ ")
new   File(File.seperator)
等等都不是,高手来救救火啊,万分感谢。

------解决方案--------------------
上面是遍历文件的方法
把文件遍历出来,放到JTree上你自己就可以实现了吧
------解决方案--------------------
package org.luyang.io;

import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.StringReader;
import java.net.URI;

import org.luyang.lang.RegularExpressions;

public class FilePathRead {
public static void main(String[] args){
FilePathRead t = new FilePathRead();
t.find(new File( "C:\\j2sdk1.4.2_10 "));
}

public void find(File f){
if(f.isDirectory()){
File[] fileList = f.listFiles();
for(int i = 0; i < fileList.length; i++){
find(fileList[i]);
}
}else{
if(f.getName().endsWith( ".java "))
System.out.println(f.getAbsolutePath());
}
}
}
------解决方案--------------------
不要用File.list()或 File.listFile()来得到子目录,用这个方法:
FileSystemView.getFileSystemView().getFiles(), 这个方法可以从刚才的 getRoots()得到的桌面目录开始,得到 "我的电脑 ", "我的文档 ", "网上邻居 "等等, 然后递归的调用这个方法就可以从 "我的电脑 "得到 A: C: D: 等等.