`

StringUtils、IOUtils and FileUtils及一些好工具

阅读更多
StringUtils

这是象面包和奶油一样必须的通用语言库,这个实用工具类包括一些很早以前在String中未包含的重要方法。

StringUtils.isEmpty(null) && StringUtils.isEmpty(""); // true     
StringUtils.isBlank("    \n\t");                       // true     
StringUtils.substringAfterLast("foo.bar.baz", ".");   // "baz"     
StringUtils.substringBeforeLast("foo.bar.baz", ".");  // "foo.bar"     
StringUtils.split("foo.bar.baz", '.');                // { "foo", "bar", "baz" }     
StringUtils.split("foo,   bar,baz", ", ");             // { "foo", "bar", "baz" }     
StringUtils.leftPad("1", 3, '0');                     // "001"  
 


IOUtils and FileUtils

在一种当你需要手动操作多个文件罕见情况下必须具备的工具,这两个工具很相似(FileUtils操作文件,IOUtils操作InputStream和Reader classes),和捆绑常用IO.

File file1;   
File file2;   
InputStream inputStream;   
OutputStream outputStream;   
  
// copy one file into another   
FileUtils.copyFile(file1, file2);   
IOUtils.copy(inputStream, outputStream);   
  
// read a file into a String   
String s1 = FileUtils.readFileToString(file1);   
String s2 = IOUtils.toString(inputStream);   
  
// read a file into a list of Strings, one item per line   
List<String> l1 = FileUtils.readLines(file1);   
List<String> l2 = IOUtils.readLines(inputStream);   
  
// put this in your finally() clause after manipulating streams   
IOUtils.closeQuietly(inputStream);   
  
// return the list of xml and text files in the specified folder and any subfolders   
Collection<File> c1 = FileUtils.listFiles(file1, { "xml", "txt" }, true);   
  
// copy one folder and its contents into another   
FileUtils.copyDirectoryToDirectory(file1, file2);   
  
// delete one folder and its contents   
FileUtils.deleteDirectory(file1); 



Google collections

这是我所知道的最好的扩展实现包,其中一些被社区叫嚣着要加入JDK:


// create an ArrayList with three arguments   
List<String> list = Lists.newArrayList("foo", "bar", "baz");   
  
// notice that there is no generics or class cast,   
// and still this line does not generate a warning.   
Set<String> s = Sets.newConcurrentHashSet();   
  
// intersect and union are basic features of a Set, if you ask me   
Set<String> s = Sets.intersect(s1, s2);   
  
// Example   of multiple values in a Map   
ListMultimap<String, Validator> validators = new ArrayListMultimap<String, Validator>();   
validators.put("save", new RequiredValidator());   
validators.put("save", new StringValidator());   
validators.put("delete", new NumberValidator());   
  
validators.get("save"); // { RequiredValidator, StringValidator }   
validators.get("foo");  // empty List (not null)   
validators.values();    // { RequiredValidator, StringValidator, NumberValidator }
 

java.util.concurrent

不是每个人都需要这么重的java.util.concurrent,但是很好用:

// a map that may be modified (by the same or different thread) while being iterated   
Map<String, Something> repository = new ConcurrentHashMap<String, Something>();   
  
// same with lists. This one is only available with Java 6   
List<Something> list = new CopyOnWriteArrayList<Something>();  
分享到:
评论

相关推荐

    自己收集整理的一些常用的工具类

    ArrayUtils 数组工具类,提供一些有关数组的便捷方法 ByteUtils 字节工具类,提供一些有关字节的便捷方法 CheckAdapter 选择适配器 CheckingUtils 提供常用数据验证的工具类,不符合的话就抛异常 Countdown 倒计时器...

    我积攒的java工具类 基本满足开发需要的工具类

    D:\002 我的工具类\001 流\文件操作整体2\FileUtils.java D:\002 我的工具类\001 流\文件操作整体2\IOUtils.java D:\002 我的工具类\001 流\文件操作整体2\PropertiesUtil.java D:\002 我的工具类\0013数字 D:\002 ...

    Android开发常用工具类

    在Android开发过程中,工具类(Utility Class)是开发者不可或缺的好帮手。它们通常包含一系列静态方法,用于执行特定任务,如日期时间处理、网络请求、数据解析等,从而提高代码的复用性和效率。以下是一些Android...

    JAVA 工具类 项目

    3. **其他可能的工具类**:除了以上两个,项目可能还包含了其他实用工具类,如StringUtils(字符串操作)、NumberUtils(数值操作)、IOUtils(输入/输出流操作)、CollectionUtils(集合操作)等。这些工具类通常...

    java android工具类

    在Java Android开发中,工具类(Utils类)是开发者经常使用的辅助代码集合,它们封装了一些通用功能,方便在多个类中复用,提高代码的可维护性和可读性。以下是一些常见的Java Android工具类及其包含的知识点: 1. ...

    28个java常用的工具类源码

    为了提高开发效率和代码质量,开发者通常会使用一些预封装好的工具类。这些工具类提供了各种便捷的功能,例如字符串处理、日期时间操作、集合操作等。本资料包含28个Java常用的工具类源码,对理解Java编程和提升开发...

    utils工具集合.zip

    例如,Apache Commons IO提供了FileUtils、IOUtils等,简化了文件读写、复制、关闭流等操作。 5. **数学工具**:对于数学计算,例如大数运算、统计计算等,可能会有相应的工具类,如Apache Commons Math。 6. **...

    java操作工具类

    例如,`FileUtils`提供了丰富的文件操作方法,而`IOUtils`则处理了输入/输出流的相关问题。 6. **网络工具类**: 可能包括URL的打开、HTTP请求的发送、网络数据的下载等功能。例如,`HttpUtils`可以方便地处理HTTP...

    Apache Commons工具集

    Apache Commons是Java开发中不可...通过熟练掌握这些工具类,开发者能够更好地应对各种编程挑战,从而编写出更加高效和可靠的Java应用程序。因此,深入学习和理解Apache Commons工具集是每个Java开发者必备的技能之一。

    java常用开发工具类大全

    - `org.apache.commons.io`: 提供了文件操作相关的工具类,如`FileUtils`, `IOUtils`等,简化了文件读写和复制等操作。 7. **Log4j或SLF4J** - 日志工具对于跟踪和调试程序至关重要,Log4j和SLF4J是两个广泛使用...

    工具类工具类

    下面我们将深入探讨工具类的设计原则、应用场景以及一些具体的工具类示例。 一、工具类设计原则 1. 单例性:工具类通常不保存实例状态,因此往往设计为静态类,避免实例化。静态类不能被继承,确保了类的单一职责...

    java utils 工具类

    通过阅读博客和`Test.java`的代码,我们可以深入了解JavaUtils工具类的实现原理,学习如何编写自己的工具类,并且更好地在项目中应用已有的工具类,提升代码的可读性和维护性。同时,理解这些工具类的内部机制也有助...

    JAVA开发27种常用工具类.zip

    以下是可能包含的一些工具类及其详细说明: 1. **ArrayUtils**: 提供了处理数组的各种操作,如复制、合并、反转、填充等。 2. **StringUtils**: 处理字符串的方法集合,包括拼接、分割、格式化、检查空值等。 3. ...

    安卓工具类整理

    在Android开发中,工具类(Util)是一种封装了常用功能的方法集合,可以帮助开发者更高效地编写代码,提高代码的可重用性和可维护性。以下是对"安卓工具类整理"这个主题的详细说明: 1. **字符串处理工具类**: - ...

    java 工具类代码集合

    - `StringUtils`:Apache Commons Lang库中的这个工具类提供了丰富的字符串操作方法,如空白字符检查、拼接、格式化等。 - `StringEscapeUtils`:用于转义和unescape字符串,如HTML、XML或Java字符串。 2. **数组...

    Android代码-安卓常用工具类

    在Android开发过程中,工具类是不可或缺的一部分,它们提供了一些常用的功能,可以极大提高开发效率。"Android代码-安卓常用工具类"这个项目很显然是一个集合了各种实用功能的工具库,方便开发者在日常工作中调用。...

    android 常用的工具类

    在Android开发过程中,工具类(Utility Classes)是开发者不可或缺的一部分,它们封装了各种常见的功能,提高了代码的可重用性和可维护性。本篇将详细探讨Android常用的工具类及其应用场景。 1. **字符串处理工具类...

    apache工具类

    Apache Commons 是一个非常著名的开源项目,它为Java开发者提供了大量实用的工具类库,极大地简化了常见的编程任务。在描述中提到的 `StringUtil` 和 `CollectionUtils` 是Apache Commons中的两个核心工具类,它们...

    java工具类

    Apache Commons IO库提供了许多实用的工具类,如`FileUtils`、`IOUtils`等,简化了文件操作。 5. **并发处理**:`java.util.concurrent`包提供了线程安全的数据结构和并发工具,如`ExecutorService`、`Future`、`...

Global site tag (gtag.js) - Google Analytics