- 浏览: 241563 次
- 性别:
- 来自: 济南
文章分类
最新评论
-
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 1214【转自】http://www.developer.com/ja ... -
WTP Facet 之 AddFilter
2010-06-11 14:22 1259做插件开发的人员都知道,如果你不晓得该使用那个Eclipse提 ... -
Properties文件的读写 : Properties操作示例
2010-04-21 14:19 1526package properties; import j ... -
wizardPage参考
2010-04-15 13:23 2513插件向导开发最好的例子莫过于Eclipse中本身一些向导,但如 ... -
如何访问当前Project???
2010-04-14 08:27 1125【转】http://wiki.eclipse.org/FAQ_ ... -
How to create dynamic web project using facets
2010-03-22 08:51 1486To create a blank faceted proje ... -
Introduction to the XSD Editor(XML Schema Editor)
2010-03-13 16:46 1354By Trung Ha August 30, 2006 ... -
同类编辑器只能打开一个
2010-02-23 13:28 1292在(http://sxw7362693.iteye.com/b ... -
通过事件驱动,创建不同的部件
2010-02-20 15:43 1072非常easy的东西,就是先dispose再create。 ... -
Tree Check 带复选框的树
2009-08-25 13:23 7699在SWT/JFace中,带复选框树最好使用Contain ... -
Swing JTreeTable范例
2009-08-21 13:48 3039由于工作需要,看了一点Swing的JtreeTable的实现。 ... -
SWT/JFACE——toolbar/toolItem
2009-04-23 22:47 10812工具栏通常有两种: toolbar、coolBar。两者的区 ... -
SWT-Menu篇
2009-04-23 17:12 3305今天用到Menu,本以为小菜一碟,都是老掉牙的东东了还不简单。 ... -
Eclipse.ini参数意义
2009-04-16 17:34 826eclipse.ini内存设置各参数含义 ... -
Editor的脏处理
2009-03-11 21:05 1717做编辑器Editor插件,肯定离不开对“脏”的处理。以前虽然也 ... -
SWT-Table按“行“进行编辑
2009-03-11 10:24 4693package table; /* * 通常在一个表 ... -
读取properties文件
2008-11-27 10:26 1839在 武晨伟的博客 http://blog.csdn.n ... -
移除Builders
2008-08-15 09:36 904public static void removeBuild ... -
Java项目classPath的添加
2008-08-15 09:28 3640// import org.eclipse.jem.workb ... -
tree file options
2008-08-15 08:47 1159package jface.treeviewer; impo ...
相关推荐
标题“百度网盘目录树生成器v2.0版本”涉及到的是一个专为百度网盘设计的工具,其主要功能是帮助用户生成网盘内的目录树结构。这个工具是基于Python编程语言编写的,并且已经打包为Windows可执行文件(exe),方便在...
"文件目录树生成器"是一种实用工具,它能够帮助用户快速地整理和记录计算机中某个特定目录下的所有文件和子目录结构。这个程序通常用于批量处理文件管理任务,例如在备份、迁移或分析大量文件时,能清晰地了解文件...
这个程序是一个文件夹目录树生成器,它可以帮助你生成文件夹的目录树并保存到TXT文本文件中。主要功能如下: 选择文件夹:你可以通过点击菜单栏中的“文件”菜单,然后选择文件夹来指定要生成目录树的文件夹路径。...
`cmdtree.bat`是一个简单的目录树生成程序,它默认在D盘根目录生成一个名为`tree.txt`的文本文件,用于保存生成的目录树结构。使用这个程序时,你需要将它移动到你需要生成目录树的文件夹下,然后双击运行。执行后,...
标题“DELPHI实现数据库目录树生成”涉及的是在Delphi编程环境中,使用特定技术来构建一个能够展示数据库数据的多级目录树视图。这个功能对于数据管理和浏览尤其有用,比如在文件管理系统或者数据库查询工具中,用户...
在IT行业中,"dgn-mlsc目录树生成 绿色软件"是一个关于文件管理和自动化工具的话题。这个软件主要用于创建和管理计算机中的目录结构,即文件夹和子文件夹的层次表示,通常以树状的形式展示。让我们深入探讨这个主题...
接下来,我们讨论如何根据XML目录树生成目录。这通常涉及以下操作: 1. **解析XML**:读取XML文件并解析其内容,生成一个DOM(Document Object Model)树或使用XML解析器如SAX(Simple API for XML)进行事件驱动的...
基于JavaFX的目录树生成工具。生成工具类使用了https://github.com/GourdErwa/MyNote/blob/master/util/src/main/java/com/gourd/erwa/util/DirectoryTreeV1.java提供的工具类。
而“百度网盘生成目录树结构”则是一种优化资源管理的方法,尤其对站长和内容创作者而言,能够更清晰地展示文件的层级关系,提高工作效率。 首先,我们要理解什么是目录树结构。目录树结构是计算机科学中的一个基本...
非常适合做虚拟产品的用户购买,提升自己的购买率!...一共有两个软件,第一个将百度网盘的目录导出成txt格式的目录树,第二个软件将txt的内容快速生成有折叠功能的目录的网页,上传到服务器后方便查看。
根据所选择的文件夹路径,生成对应的目录树
本篇文章将深入探讨如何使用特定的软件工具来高效地生成并编辑百度网盘的文件和文件夹的树形目录结构。 首先,标题提到的“百度网盘文件夹目录生成软件”是一个专门设计用于自动化生成百度网盘内文件和文件夹结构的...
自动生成文件夹目录树,方便使用EXCEL用户
在Excel中,你可以通过VBA(Visual Basic for Applications)编写脚本来生成目录树结构。VBA是Excel内置的一种编程语言,可以自动化执行任务。上述代码示例中,通过遍历数据行,检查父目录变化,利用字符串分割函数...
3. **DirTree.exe** - 这是可执行文件,是程序的主要部分,当用户双击运行时,将启动目录树生成程序。它的名字“DirTree”直接对应于“目录树”的概念,意味着它是程序的核心,负责解析文件系统,创建并显示目录树。...
在本案例中,这两个bat脚本(目录树生成器(xls版).bat和目录树生成器(txt版).bat)是用来遍历指定文件夹内的所有子文件夹和文件,并将结果分别以xls(Excel表格)和txt(纯文本)格式输出。 txt版的目录树生成器...
Listit是一个和windows下面的tree命令实现相同功能的目录列表软件。 绿色软件,直接拷贝,无需安装/卸载,直接拷贝/删除。 该软件是免费的,你可以随意使用、传播该软件。 它比tree更方便、更强大,支持Win95/98/me/...
2. 代码生成:某些插件允许你直接从表达式目录树生成源代码,这对于快速创建动态方法或Linq查询非常方便。 3. 动态调试:在调试过程中,你可以使用插件查看当前表达式的目录树,从而更好地理解代码的执行过程。 4. ...
此程序实现了一个简单的目录树生成器,能够根据目录结构创建层次清晰的文本表示。然而,这种方法的一个限制是它仅适用于文本输出,不适合于图形化展示。对于更复杂的目录树显示,如树形视图,可以考虑使用第三方库,...
标题中的“文件夹目录树自动生成工具”是一个用于自动化生成文件系统目录结构的程序,它可以帮助用户快速地创建一个包含所有文件和子文件夹的详细列表。这种工具在日常工作中非常有用,特别是在需要管理和整理大量...