zoukankan      html  css  js  c++  java
  • 常用的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>();


  • 相关阅读:
    C# 将DLL制作CAB包并在浏览器下载,自动安装。(Activex)(包括ie打开cab包一直弹出用户账户控制,确定之后无反应的解决办法。)
    C#解决WebClient不能下载https网页内容
    SQL Server 将两行或者多行拼接成一行数据
    IIS反向代理
    C# HTTP请求对外接口、第三方接口公用类
    SQL SERVER常用语法记录
    SQL SERVER 实现相同记录为空显示(多列去除重复值,相同的只显示一条数据)
    百度编辑器插入视频 实现可实时预览以及支持手机查看
    百度编辑器 动态修改上传图片路径以及上传视频路径
    .Net Core Api发布时报502.5 [The Application process failed to Start]问题的解决原因
  • 原文地址:https://www.cnblogs.com/jifeng/p/2140003.html
Copyright © 2011-2022 走看看