- 浏览: 1151915 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
1、先看一个File类的简单的例子
package test; import java.io.File; import java.io.FilenameFilter; import java.util.Arrays; import java.util.Scanner; import java.util.regex.Pattern; /** * File代表文件和目录,静态域有:与系统有关的路径分隔符、与系统有关的默认名称分隔符。 * 主要操作有:创建文件或目录、删除文件、给文件设定属性、返回指定目录下的文件列表、 * 返回过滤后的文件列表、 检测文件是否存在、是否隐藏、是否是目录还是文件、 * 返回文件名称和路径 * * @author Touch * */ public class FileDemo { /* * 查找指定路径下的匹配regex的文件 */ public String[] find(String path, final String regex) { File file = new File(path); //匿名内部类 return file.list(new FilenameFilter() { private Pattern pattern = Pattern.compile(regex); @Override public boolean accept(File dir, String name) { // TODO Auto-generated method stub return pattern.matcher(name).matches(); } }); } public static void main(String[] args) { String path = null; String key = null; String regex = null; int choice = 1; Scanner scanner = new Scanner(System.in); System.out.println("please input the file path:"); path = scanner.next(); System.out.println("please input key:"); key = scanner.next(); System.out.println("choise:\n0:匹配以" + key + "为后缀的文件\n1:匹配包含" + key + "的文件"); if ((choice = scanner.nextInt()) == 0) regex = ".*\\." + key; else regex = ".*" + key + ".*"; String[] list; list = new FileDemo().find(path, regex); System.out.println(Arrays.deepToString(list)); //返回指定路径下的目录列表 File[] fileList = new File(path).listFiles(); for (File file : fileList) { if (file.isDirectory()) { list = new FileDemo().find(file.getPath(), regex); System.out.println(Arrays.deepToString(list)); } } } }
2、看完这个例子,是不是可以写个工具类呢,用于搜索指定路径下的所有文件或者目录,当然也可以输入正则表达式,这样就可以筛选出我们想要的文件(如有时候我 们只需要.java文件或者.txt文件)
package mine.util; import java.io.File; import java.util.ArrayList; import java.util.List; /** * FileDirectory类用于查找指定根目录下的所有文件和目录 可以通过正则表达式对要查找的 文件及目录进行筛选 * * @author Touch */ public final class SearchFile { // 存放文件 private List<File> fileList = new ArrayList<File>(); // 存放目录 private List<File> directoryList = new ArrayList<File>(); // 存放文件和目录 private List<File> list = new ArrayList<File>(); private File file;// 目录 private String regex;// 正则表达式 public SearchFile(String path) { file = new File(path); this.regex = ".*"; } public SearchFile(File file) { this.file = file; this.regex = ".*"; } public SearchFile(String path, String regex) { file = new File(path); this.regex = regex; } public SearchFile(File file, String regex) { this.file = file; this.regex = regex; } // 返回当前目录下的所有文件及子目录 public List<File> files() { File[] files = file.listFiles(); List<File> list = new ArrayList<File>(); for (File f : files) if (f.getName().matches(regex)) list.add(f); return list; } // 返回该根目录下的所有文件 public List<File> allFiles() { if (list.isEmpty()) search(file); return fileList; } // 返回该根目录下的所有子目录 public List<File> allDirectory() { if (list.isEmpty()) search(file); return directoryList; } // 返回该根目录下的所有文件及子目录 public List<File> allFilesAndDirectory() { if (list.isEmpty()) search(file); return list; } // 递归搜索当前目录下的所有文件及目录 private void search(File file) { File[] files = file.listFiles(); if (files == null || files.length == 0) return; for (File f : files) { if (f.getName().matches(regex)) list.add(f); if (f.isFile() && f.getName().matches(regex)) fileList.add(f); else { if (f.getName().matches(regex)) directoryList.add(f); search(f); } } } }
3、测试
package mine.util; import java.io.File; import java.util.List; public class TestSearchFile { public static void main(String[] args) { System.out.println("-------- 指定目录中所有文件及子目录-------"); List<File> list = (List<File>) new SearchFile( "G:/java/workspace/test/file").files(); for (File file : list) System.out.println(file.getName()); System.out.println("--------指定目录中以txt为后缀的文件------"); list = (List<File>) new SearchFile("G:/java/workspace/test/file", ".*\\.txt").files(); for (File file : list) System.out.println(file.getName()); System.out.println("--------以该目录为根目录的所有文件及子目录--"); list = (List<File>) new SearchFile("G:/java/workspace/test") .allFilesAndDirectory(); for (File file : list) System.out.println(file.getName()); } }
4、结果:
-------- 指定目录中所有文件及子目录-------
aa.data
bb.dat
object
test.txt
test1.txt
test2.txt
test3.txt
test4.txt
test5
--------指定目录中以txt为后缀的文件------
test.txt
test1.txt
test2.txt
test3.txt
test4.txt
--------以该目录为根目录的所有文件及子目录--
.classpath
.project
.settings
org.eclipse.jdt.core.prefs
bin
http
PassWord.class
Test.class
mine
util
SearchFile.class
TestSearchFile.class
test
A.class
ArraysDemo.class
B.class
ByteArrayInputStreamDemo.class
DataInputStreamAndByteArrayInputStreamDemo.class
DataInputStreamDemo.class
DeepCloneDemo.class
FileDemo$1.class
FileDemo.class
FileInputStreamDemo.class
发表评论
-
一个例子全部说明java泛型中的K,V,T,E,?,object的意思及其用法
2013-03-07 11:09 70541.意思 jdk中的K,V,T,E等泛型名称很多人以为 ... -
Log4j 把不同包的日志打印到不同位置
2012-11-29 08:23 1153需要的包和测试的代码下载附件! 如果需要将不同的日 ... -
Java多线程发展简史
2012-09-16 14:25 1039转自:http://www.raychase.ne ... -
Java编码易疏忽的十个问题
2012-09-06 08:52 918在Java编码中,我们容易 ... -
网络编程
2012-09-04 13:30 976计算机网络基础 什么是计算机网络 把分布在 ... -
获取Java程序运行的路径 | 获取当前jar包的路径
2012-09-04 11:55 14087经过试验,不管是否是 Jar 包,不管是否是 Tom ... -
java的concurrent用法详解
2012-08-03 11:28 1023我们都知道,在JDK1.5之前,Java中要进行业务并发时 ... -
Java程序员必知的8大排序
2012-07-05 09:56 10308 种排序之间的关系: ... -
Comparator与Comparable的区别
2012-07-05 08:38 1224当需要排序的集合或数组不是单纯的数字类型的时候,通常可以使用C ... -
RSA算法Java实现
2012-06-27 08:22 1419Java代码 package c ... -
队列阻塞浅析
2012-06-17 18:10 935这几天所做的项目中涉及到了队列阻塞机制,通过研究整理如下 ... -
Java面试过程中会遇到的问题
2012-06-13 13:04 11491、abstract的method是否可同时是static,是 ... -
【解惑】深入jar包:从jar包中读取资源文件
2012-06-13 13:02 1104我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。 ... -
java 处理文件路径中的空格
2012-06-13 12:57 1542问题背景: windows下有个目录名称Program ... -
java内存分配机制
2012-06-13 12:52 1176通过这几天对一个 ... -
byte[]转化成其他数据类型
2012-05-14 16:41 1666Java与其他语言数据类型之间的转换方法实例程序 /*** ... -
java中byte转换int时为何与0xff进行与运算
2012-05-14 16:39 1075java中byte转换int时为何 ... -
java整型数与网络字节序的 byte[] 数组转换关系
2012-05-14 16:31 6478工作项目需要在 java 和 c/c++ 之间进行 ... -
利用 Base64 缩短 UUID 至22位
2012-04-15 18:57 7185UUID还是比较常用的,尤其在web应用里。 有时在UR ... -
图解Java中的值传递与引用传递(更新版)
2012-04-09 12:49 1187编程的人,都会遇到值传递与引用传递的困惑,不过很快都会迎 ...
相关推荐
主要讲解了System类、Object类、Arrays类、Cloneable接口、IO系统输入输出类及装饰类、IO系统文本读写工具类、IO系统二进制读写工具类、对象序列化工具类、File类及文件搜索工具类、java异常机制及自定义异常类、...
下面我们将详细探讨Java中28个常用的工具类,主要涉及`IO`相关的开发工具。 1. **java.lang.Math**:这个类提供了许多基础数学函数,如求平方根、最大值、最小值、随机数生成等。 2. **java.util.Arrays**:用于...
本篇文章将全面解析Java IO工具类,帮助你理解并掌握其在实际开发中的应用。 一、Java IO基础 Java IO体系主要由流(Stream)组成,分为字节流和字符流两大类,分别处理字节数据和字符数据。字节流包括InputStream...
本篇文章将详细解析Java中常用的工具类,包括字符处理、文件处理、时间操作以及图片处理等方面的知识点。 1. **字符处理**: - `java.lang.String`:String类是Java中最基础也是最常用的数据类型之一,提供了大量...
以下是根据标题“java常用工具类”和描述中提到的“date工具类”、“string工具类”等进行的详细知识点解析: 1. **Date和Calendar工具类**: - `java.util.Date`:表示特定瞬间,精确到毫秒。但直接操作日期对象...
"Java常用工具类包"是一个集合,它包含了多种针对不同场景的工具类,如文件操作、文本处理、对象转换等。下面将详细介绍这些工具类的主要功能及其应用场景。 1. **文件对比**: - Java中的`java.io.File`类可以...
9. **File工具类**: `java.io.File`类处理文件和目录的操作,如创建、删除、重命名等。 10. **验证码工具类**: 可能涉及到生成随机图片、数字或字母,如Apache Commons Codec的`org.apache.commons.codec.binary....
`java.io.File`类为开发者提供了一个简单而强大的工具来处理文件和目录。无论是创建文件还是检查文件属性,`File`类都提供了一系列方便的方法来帮助开发者高效地完成任务。掌握`File`类的基本用法对于任何Java程序员...
以上只是Java工具类的一部分,实际中还有很多实用的工具类,例如用于XML处理的`javax.xml.parsers.DocumentBuilderFactory`,用于JSON解析的`org.json.JSONObject`等。这些工具类大大简化了开发工作,提升了代码质量...
Java工具类是Java编程语言中一个非常重要的组成部分,它们提供了许多实用的方法,帮助开发者更高效地处理各种编程任务。在Java中,工具类通常被设计为静态方法集合,不依赖于实例化对象,可以直接调用类中的方法进行...
"Java常用工具类"集合了多种实用工具类,覆盖了数据库交互、数据格式转换、文件操作和电子邮件发送等多个方面。下面将详细阐述这些领域的知识点。 1. **数据库连接**: - JDBC(Java Database Connectivity):...
本文将详细介绍如何创建一个Java通用的XML解析工具类,以便于在项目中复用和简化XML处理。 首先,我们来看DOM解析方式。DOM解析器会将整个XML文档加载到内存中,形成一棵树形结构,便于对XML进行随机访问。以下是一...
这里我们将深入探讨Java中的一些常用工具类,包括文件操作、字符串处理、时间管理和数据库交互等方面。 1. 文件上传下载:Java的`java.io`和`java.nio`包提供了丰富的文件操作API。例如,`File`类用于文件和目录的...
"java常用工具类封装util.rar"这个压缩包文件很可能包含了开发者为了提高代码复用性和简洁性而编写的各种实用工具类。下面将详细介绍一些Java开发中常见的工具类及其功能。 1. **字符串处理工具类(StringUtil)**:...
这个"Java加载配置文件工具类"很可能是为了解决这个问题而创建的一个实用工具,帮助开发者更方便、高效地处理配置文件。配置文件通常以.properties或.xml格式存在,用于存储应用程序的参数、配置项等。 配置文件的...
File 类在 Java 中是操作文件和目录的核心类,它是 IO 流系统的基础。File 类不仅可以表示文件,还能表示目录(书目),它采用抽象路径名(abstract pathname)的方式来表示文件或目录的位置。File 类提供了丰富的...
这里我们探讨的“28个Java常用的工具类”集合,涵盖了字符串处理、日期时间操作、数学计算、集合操作等多个方面的实用工具。下面我们将详细分析这些工具类及其常用方法。 1. **字符串工具类**:例如`StringUtils`,...