如何使用java编程实现linux下所有文件目录的遍历?

zhfj001 2008-06-29 05:15:53
继http://topic.csdn.net/u/20080628/09/d144f106-3b69-4b5c-a67a-6ad59c6a7d4f.html?seed=339406413
帖子之后,再次发帖,寻求帮助,把上个帖子的第二个问题拿过来讨论,100分在此寻求问题答案。

如题:
如何使用java编程实现linux下所有文件目录的遍历?
我已经从网上找到了一个在windows下以树的形式显示硬盘信息的java源码,但是打包后放到linux运行,只显示一个域名信息,并不能显示分区目录信息,后来看了看源码才发现,那个程序是专门为windows写的,而对于java我又是个初学者,所以根本不知道从哪里下手修改,把关键部分代码贴出来,希望高手能相助,在此表示感谢。
private TreeNode iterateDisk() throws UnknownHostException {
// get machine name
InetAddress local = InetAddress.getLocalHost();
// create root
DefaultMutableTreeNode root = new DefaultMutableTreeNode(
local.getHostName());

// first try all drives - windows only
for (char label = 'A'; label < 'Z'; label++) {
File driveFile = new File(label + ":\\");
if (driveFile.exists()) {
DefaultMutableTreeNode driveNode = new DefaultMutableTreeNode(
new MyFile(driveFile));
iterateDir(driveFile, driveNode);
root.add(driveNode);
}
}

return root;
}
...全文
914 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
neuq111 2009-09-09
  • 打赏
  • 举报
回复
可以把源代码发给我看看么- -
rzg2005 2008-06-30
  • 打赏
  • 举报
回复
linux下从根目录[\]开始.根目录下全部都能遍历,如果有权限的话.

遍历linux下所有文件目录的遍历就难了.如果硬盘没有mount上去,在linux下是不能访问的.

zhfj001 2008-06-30
  • 打赏
  • 举报
回复
在各位的帮助下,终于算是可以在linux下显示文件目录信息了,zxcayumi
正解,把for (char label = 'A'; label < 'Z'; label++) {
File driveFile = new File(label + ":\\");
修改为File driveFile = new File("/");
即可。

在此对各位的热情表示感谢,圆满结贴。
zxcayumi 2008-06-30
  • 打赏
  • 举报
回复
File driveFile = new File("/");
showgood119 2008-06-30
  • 打赏
  • 举报
回复
建议看看递归算法
老紫竹 2008-06-30
  • 打赏
  • 举报
回复
File[] roots = File.listRoots(); 

你去看看这个代码的作用
al_you_ge 2008-06-29
  • 打赏
  • 举报
回复
好像LINUX没有盘符吧
Ant 2008-06-29
  • 打赏
  • 举报
回复
且不说楼主贴的代码不知道啥意思,如果真要实现楼主说的遍历所有目录结构,估计你的iterateDir得递归调用本身,然后你的Tree对象是自己编写的么?希望它本身的添加节点方法没有问题

另外提供另外一条思路,楼主为什么不调用Linux系统命令来帮助你完成这个工作呢,写Shell脚本比程序轻松多了
如果我没猜错的化,Java类库中的FileChooser类就是调用系统命令来完成系统磁盘文件定位的,你可以看源代码参考一下
jabeginner 2008-06-29
  • 打赏
  • 举报
回复
这东西很多都还不懂。
iterateDir(driveFile, driveNode); 这个方法具体是怎么写的,怀疑就在iterateDir方法里面能找到你想要修改的地方

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧