常用的java工具类

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);
复制代码

 

 

复制代码
1.文件内容拷贝:
import  java.io.File;
import  java.io.FileWriter;
import  java.io.IOException;
import  java.io.InputStream;
import  java.io.Writer;
 
import  org.apache.commons.io.FileUtils;
import  org.apache.commons.io.IOUtils;
 
 
publicclass FileCopyExample {
    publicstaticvoid main(String[] args) {
       
try  {
           File src 
=   new  File(  " test.dat "  );
           File dest 
=   new  File(  " test.dat.bak "  );
           
           FileUtils.copyFile( src, dest );
       } 
catch ( IOException ioe ) {
           System.out.println( 
" Problem copying file. "  );
       }
       
       
try  {
           File src 
=   new  File(  " test.dat "  );
           File dir 
=   new  File(  " ./temp "  );
 
           FileUtils.copyFileToDirectory( src, dir );
       } 
catch ( IOException ioe ) {
           System.out.println( 
" Problem copying file to dir. " );
       }
       
       
try  {
           String string 
=   " Blah blah blah " ;
           File dest 
=   new  File(  " test.tmp "  );
           
           FileUtils.writeStringToFile( dest, string, 
" ISO-8859-1 "  );
       } 
catch ( IOException ioe ) {
           System.out.println( 
" Error writing out a String. "  );        
       }
       
       
       
try  {
           Writer writer 
=   new  FileWriter(  " test.dat "  );
           InputStream inputStream 
= FileCopyExample. class
              getClass().getResourceAsStream(
" /io/web.xml " );
           IOUtils.copy( inputStream, writer );
           writer.close();
           inputStream.close();
       } 
catch  (IOException e) {
           System.out.println( 
" Error copying data "  );
       }
 
try  {
           File src 
=   new  File(  " test.txt "  );
           OutputStream output 
=   new  FileOutputStream(src);
           InputStream inputStream 
= FileCopyExample. class
              getClass().getResourceAsStream(
" /io/web.xml " );
           IOUtils.copy( inputStream, output );
//          writer.close();
           inputStream.close();
           output.close();
       } 
catch  (IOException e) {
           System.out.println( 
" Error copying data "  );
       }
    }
 
}
 
2.文件删除:
File file 
=   new  File( ( " io/project.properties " ) );
       String display 
=  FileUtils.byteCountToDisplaySize( file.length() );
       System.out.println( 
" project.xml is  "   +  display );
       FileUtils.forceDelete(file) 
 
3.读取取文本中的每一行:
import  java.io.File;
import  java.io.IOException;
import  java.util.List;
 
import  org.apache.commons.io.FileSystemUtils;
import  org.apache.commons.io.FileUtils;
 
 
public   class  Test {
 
       
/**
        * 
@param  args
        * 
@throws  IOException 
        
*/
       
public   static   void  main(String[] args)  throws  IOException {
              
//  TODO Auto-generated method stub
              File file  =   new  File((Test. class .getClass().getResource( " /io/web.xml " )).getFile());
               List lines 
=  FileUtils.readLines(file,  " UTF-8 " );
               
for ( int  i = 0 ;i < lines.size();i ++ )
               System.out.println(lines.get(i));
       }
 
}   
复制代码

 

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 > ();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值