请问在swing中 如何根据给出的一个文件夹的目录把下面的文件全部循环遍历出来 然后以树形显示,高手赐教啊 100

高手来帮帮忙,指教下啊!!!... 高手来帮帮忙,指教下啊!!! 展开
 我来答
至尊z馒头
2011-05-08 · TA获得超过114个赞
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:104万
展开全部
之前做过一个东西 用到的技术跟你需要的类似 .可以给你参考一下
我用的JTree.耐性看完 应该会对你有帮助
大致说下思路
先准备一个遍历文件夹的方法 .递归这东西,能不用 尽量别用
File file = new File("D:/");这里举例遍历D盘
LinkedList<File> dir = new ....;准备一个目录数组
ArrayList<File> fs = new.....;准备一个文件数组
dir.add(file);
for(File f : dir){
if(f.isDirectory()){//如果是数组 装进去文件夹数组
dir.add(f)
}else if(f.isFile()){//如果是标准文件 装进这个数组
fs.add(f);
}
}
大概就这样遍历..细节没过多考虑 手写没经过编译不知道有没有错 大致算法就这样
fs里面装的就是你给定文件夹里所有的标准文件
再来显示
1.首先,要求给定一个文件夹目录,显示在树上,并可以展开.既然要显示在树上,那就必须得是个TreeNode
这有句代码:
DynamicUtilTreeNode root = new DynamicUtilTreeNode(FileSystemView.getFileSystemView().getHomeDirectory(),new Object[0]);
这句代码的意思 是获取到桌面File,并把它转换成一个DynamicUtilTreeNode.
2.用你给定文件转换出来的TreeNode 构建一个TreeModel
DefaultTreeModel treeModel = new DefaultTreeModel(root)
root表示你给定文件转换出来的TreeNode.
3.这下方便了,把fs里和dir里的所有文件 和文件夹转换成TreeNode 再根据他们的路径 插入到这棵树中..用这个方法(是treemodel上的方法 所以要构建一个这个,十分方便)
一个3个参数
treeModel.insertNodeInto(这个参数填TreeNode, dutn(这个表示父节点), getTreeNodeChildCount(dutn) );//最后这个参数是插入位置,我这样写 是插入到末尾

----------------------------------------------------
大概就这样了.不过一般来说 树不显示文件只显示文件夹(参照windows的资源管理器) 显示文件的可以用个JList来做 .
希望对你有帮助把 ,我自己也算回顾了下以前写的东西...
梅琦莉9a
2011-05-04 · TA获得超过231个赞
知道小有建树答主
回答量:274
采纳率:100%
帮助的人:242万
展开全部
File对象有个方法isDirectory(),如果还是目录,继续向下递归显示,显示其所有的文件方法为
file.list() ,好好看看api,很全面的啦
更多追问追答
追问
我想知道怎么让它在树形上显示?
追答
那好好看下树形控件的用法,有现成的控件给你你使用,如果不会,找个例子学习吧,很简单的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式