- 浏览: 237846 次
- 性别:
- 来自: 济南
文章分类
最新评论
-
heartneo:
破解原作真是太厉害了。
Spket 1.6.18的简单破解 -
mwp1115:
谢谢,现在官方的demo代码还是jdk1.2的
Swing JTreeTable范例 -
bulktree:
Spket 谢谢了,js格式化 行宽太小了,你这个帮了我很大的 ...
Spket 1.6.18的简单破解 -
REGAL2T:
谢谢, 可以使用了
Spket 1.6.18的简单破解 -
wuwei1616:
我想问下lz 我生成了 wsdl文件 我用客户端去调用 怎么总 ...
调用CXF工具 生成 WSDL
项目上线需要生成个目录树文件,本来可以用dos的tree就搞定的,领导非得要统计每个文件下的子文件数目。没办法,只好找了点资料随便写了个JFrame。
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.util.Stack; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.SwingUtilities; public class PathTree extends JPanel { private static final long serialVersionUID = 1L; private JButton browseButton = new JButton("选择文件夹"); private JTextArea pathsTextArea = new JTextArea(); public PathTree() { initGui(); } // 初始化界面 private void initGui() { this.setLayout(new BorderLayout()); JPanel buttonsPanel = new JPanel(); buttonsPanel.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, Color.GRAY)); buttonsPanel.add(browseButton); this.add(buttonsPanel, BorderLayout.NORTH); JScrollPane scroller = new JScrollPane(pathsTextArea); scroller.setBorder(null); this.add(scroller, BorderLayout.CENTER); browseButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 选择文件夹 final JFileChooser chooser = new JFileChooser(); chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); int result = chooser.showOpenDialog(PathTree.this); if (result == JFileChooser.APPROVE_OPTION) { Thread t = new Thread(new Runnable() { public void run() { File dir = chooser.getSelectedFile(); pathsTextArea.setText(""); WorkTree workTree = new WorkTree(dir); workTree.tree(); pathsTextArea.setText(workTree.getResult()); } }); t.start(); } } }); } // 创建主窗口 private static void createGUIAndShow() { JFrame frame = new JFrame("目录结构树"); frame.setContentPane(new PathTree()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension ss = Toolkit.getDefaultToolkit().getScreenSize(); int w = 600; int h = 700; int x = (ss.width - w) / 2; int y = (ss.height - h) / 2 - 40; x = x > 0 ? x : 0; y = y > 0 ? y : 0; frame.setBounds(x, y, w, h); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { createGUIAndShow(); } }); } } class WorkTree { private File root; private StringBuffer resultBuffer = new StringBuffer(); public WorkTree(File root) { this.root = root; } public String getResult() { return resultBuffer.toString(); } public WorkTree(String rootName) { this(new File(rootName)); } public void tree() { Stack<Boolean> lastStack = new Stack<Boolean>(); tree(root, 0, lastStack); } private void tree(File dir, int level, Stack<Boolean> lastStack) { if (dir == null || !dir.exists()) { return; } // 输出 printFile(dir, level, lastStack); if (dir.isFile()) { return; } File[] children = dir.listFiles(); for (int i = 0; i < children.length; i++) { lastStack.push(i == children.length - 1); tree(children[i], level + 1, lastStack); lastStack.pop(); } } /** * 打印树形文件目录 * * @param file * 文件 * @param level * 文件所处的层级 * @param lastStack * 该文件是否是最后一个文件 */ private void printFile(File file, int level, Stack<Boolean> lastStack) { for (int i = 0, k = lastStack.size() - 1; i < k; i++) { resultBuffer.append(lastStack.get(i) ? "\t" : "│\t"); } if (level > 0) { resultBuffer.append( lastStack.get(lastStack.size() - 1) ? "└─" : "├─"); } String fileName = file.isDirectory() == true ? (file.getName() + dirMarks(file)) : file.getName(); resultBuffer.append(level == 0 ? file.getPath() : fileName) .append("\n"); } private static String dirMarks(File file) { int files = 0; int dirs = 0; File[] curFileList = file.listFiles(); for (int i = 0; i < curFileList.length; i++) { File temp = curFileList[i]; if (temp.isFile()) { files++; } else { dirs++; } } return " " + "子目录" + dirs + "个,文件" + files + "个"; } }
效果还不错:
发表评论
-
Eclipse Tip: Define Custom Content Types to Identify Your Data Files
2010-06-13 08:53 1180【转自】http://www.developer.com/ja ... -
WTP Facet 之 AddFilter
2010-06-11 14:22 1221做插件开发的人员都知道,如果你不晓得该使用那个Eclipse提 ... -
Properties文件的读写 : Properties操作示例
2010-04-21 14:19 1478package properties; import j ... -
wizardPage参考
2010-04-15 13:23 2481插件向导开发最好的例子莫过于Eclipse中本身一些向导,但如 ... -
如何访问当前Project???
2010-04-14 08:27 1090【转】http://wiki.eclipse.org/FAQ_ ... -
How to create dynamic web project using facets
2010-03-22 08:51 1448To create a blank faceted proje ... -
Introduction to the XSD Editor(XML Schema Editor)
2010-03-13 16:46 1311By Trung Ha August 30, 2006 ... -
同类编辑器只能打开一个
2010-02-23 13:28 1249在(http://sxw7362693.iteye.com/b ... -
通过事件驱动,创建不同的部件
2010-02-20 15:43 1033非常easy的东西,就是先dispose再create。 ... -
Tree Check 带复选框的树
2009-08-25 13:23 7646在SWT/JFace中,带复选框树最好使用Contain ... -
Swing JTreeTable范例
2009-08-21 13:48 2974由于工作需要,看了一点Swing的JtreeTable的实现。 ... -
SWT/JFACE——toolbar/toolItem
2009-04-23 22:47 10750工具栏通常有两种: toolbar、coolBar。两者的区 ... -
SWT-Menu篇
2009-04-23 17:12 3252今天用到Menu,本以为小菜一碟,都是老掉牙的东东了还不简单。 ... -
Eclipse.ini参数意义
2009-04-16 17:34 795eclipse.ini内存设置各参数含义 ... -
Editor的脏处理
2009-03-11 21:05 1692做编辑器Editor插件,肯定离不开对“脏”的处理。以前虽然也 ... -
SWT-Table按“行“进行编辑
2009-03-11 10:24 4658package table; /* * 通常在一个表 ... -
读取properties文件
2008-11-27 10:26 1802在 武晨伟的博客 http://blog.csdn.n ... -
移除Builders
2008-08-15 09:36 865public static void removeBuild ... -
Java项目classPath的添加
2008-08-15 09:28 3603// import org.eclipse.jem.workb ... -
tree file options
2008-08-15 08:47 1119package jface.treeviewer; impo ...
相关推荐
这个程序是一个文件夹目录树生成器,它可以帮助你生成文件夹的目录树并保存到TXT文本文件中。主要功能如下: 选择文件夹:你可以通过点击菜单栏中的“文件”菜单,然后选择文件夹来指定要生成目录树的文件夹路径。...
百度网盘如何生成目录树结构?软件是windows版exe格式的。采用python编写打包好,直接使用。内附使用教程
dgn-mlsc TXT目录树生成 绿色软件
可将指定目录的所有文件名导出到文本文件中
基于JavaFX的目录树生成工具。生成工具类使用了https://github.com/GourdErwa/MyNote/blob/master/util/src/main/java/com/gourd/erwa/util/DirectoryTreeV1.java提供的工具类。
根据目录生成XML文件,根据xml目录树生成目录,并监视文件变化,代码进行了必要的异常处理,并将异常生成到logfile文件。
可实现无限制级的目录树。速度可不是一般的快。
根据所选择的文件夹路径,生成对应的目录树
自动生成文件夹目录树,方便使用EXCEL用户
亲测可用 找到百度网盘文件 生成目录txt 复制到excel 编辑保存
Listit是一个和windows下面的tree命令实现相同功能的目录列表软件。 绿色软件,直接拷贝,无需安装/卸载,直接拷贝/删除。 该软件是免费的,你可以随意使用、传播该软件。 它比tree更方便、更强大,支持Win95/98/me/...
这个不是我写的。一句话可以概况其内容:百度云管家目录下有个文件是个SQLite格式的,里面纪录了百度云盘的文件夹结构。用相关的数据库软件导出就可以了。
适用站长,引入网盘列表的写作的小伙伴,不需要繁琐的截图网盘资料。解压密码【fang1688.cn】,括号不用输入!
使用纯java代码遍历文件夹,生成一个文件夹目录结构的目录树。 及返回一个包含有 id(文件夹id) fid(当前文件夹父目录文件夹id) name (文件/文件夹路径)的集合对象。可根据这个结果传到前台,通过jquery.ztree 或是...
java eclipse 插件 按照目录结构生成的目录树
本地站点地图生成器 使用本地目录树生成XML网站地图
获取当前目录下的目录名称,同时生成本文目录树
DirTree又称目录树生成工具,这款工具主要用于指定文件夹内的目标结构生成操作,软件绿色免安装,而且操作简单,选择相应的文件夹后就可以一键生成了,并且支持自定义内容过滤,而且生成的速度快,有需要的欢迎下载...
Windows下生成目录树的BAT程序,一共有2个程序,其中cmdtree默认在D盘根目录生成txt文件。使用方法要将该文件放入需要生成目录树的文件夹下。另外一个有4个选项,可以选择自己喜欢的使用。
目录树生成器,分为txt版和xls版,亲测可用,有效。将bat脚本放置在想要生成目录树的文件夹下,直接双击执行,脚本会遍历该文件夹下的所有文件夹和文件,生成目录树。分为txt版本和xls版本