zoukankan      html  css  js  c++  java
  • 非常有用的Java程序片段

    1.向文件末尾添加内容

    BufferedWriter out = null;   
    try {   
        out = new BufferedWriter(new FileWriter(”filename”, true));   
        out.write(”aString”);   
    } catch (IOException e) {   
        // error processing code   
    } finally {   
        if (out != null) {   
            out.close();   
        }   
    }  
    View Code

    2.得到当前方法的名字

    String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();  
    View Code

    3.使用JDBC链接Oracle

    public class OracleJdbcTest   
    {   
        String driverClass = "oracle.jdbc.driver.OracleDriver";   
       
        Connection con;   
       
        public void init(FileInputStream fs) throws ClassNotFoundException, SQLException, FileNotFoundException, IOException   
        {   
            Properties props = new Properties();   
            props.load(fs);   
            String url = props.getProperty("db.url");   
            String userName = props.getProperty("db.user");   
            String password = props.getProperty("db.password");   
            Class.forName(driverClass);   
       
            con=DriverManager.getConnection(url, userName, password);   
        }   
       
        public void fetch() throws SQLException, IOException   
        {   
            PreparedStatement ps = con.prepareStatement("select SYSDATE from dual");   
            ResultSet rs = ps.executeQuery();   
       
            while (rs.next())   
            {   
                // do the thing you do   
            }   
            rs.close();   
            ps.close();   
        }   
       
        public static void main(String[] args)   
        {   
            OracleJdbcTest test = new OracleJdbcTest();   
            test.init();   
            test.fetch();   
        }   
    }  
    View Code

    4.把 Java util.Date 转成 sql.Date

    java.util.Date utilDate = new java.util.Date();   
    java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());  
    View Code

    5.使用NIO进行快速的文件拷贝

    public static void fileCopy( File in, File out )   
                throws IOException   
        {   
            FileChannel inChannel = new FileInputStream( in ).getChannel();   
            FileChannel outChannel = new FileOutputStream( out ).getChannel();   
            try  
            {   
    //          inChannel.transferTo(0, inChannel.size(), outChannel);      // original -- apparently has trouble copying large files on Windows   
       
                // magic number for Windows, 64Mb - 32Kb)   
                int maxCount = (64 * 1024 * 1024) - (32 * 1024);   
                long size = inChannel.size();   
                long position = 0;   
                while ( position < size )   
                {   
                   position += inChannel.transferTo( position, maxCount, outChannel );   
                }   
            }   
            finally  
            {   
                if ( inChannel != null )   
                {   
                   inChannel.close();   
                }   
                if ( outChannel != null )   
                {   
                    outChannel.close();   
                }   
            }   
        }  
    View Code

    6.把 Array 转换成 Map

    import java.util.Map;   
    import org.apache.commons.lang.ArrayUtils;   
       
    public class Main {   
       
      public static void main(String[] args) {   
        String[][] countries = { { "United States", "New York" }, { "United Kingdom", "London" },   
            { "Netherland", "Amsterdam" }, { "Japan", "Tokyo" }, { "France", "Paris" } };   
       
        Map countryCapitals = ArrayUtils.toMap(countries);   
       
        System.out.println("Capital of Japan is " + countryCapitals.get("Japan"));   
        System.out.println("Capital of France is " + countryCapitals.get("France"));   
      }   
    }  
    View Code

    7.改变数组的大小

    /**  
    * Reallocates an array with a new size, and copies the contents  
    * of the old array to the new array.  
    * @param oldArray  the old array, to be reallocated.  
    * @param newSize   the new array size.  
    * @return          A new array with the same contents.  
    */  
    private static Object resizeArray (Object oldArray, int newSize) {   
       int oldSize = java.lang.reflect.Array.getLength(oldArray);   
       Class elementType = oldArray.getClass().getComponentType();   
       Object newArray = java.lang.reflect.Array.newInstance(   
             elementType,newSize);   
       int preserveLength = Math.min(oldSize,newSize);   
       if (preserveLength > 0)   
          System.arraycopy (oldArray,0,newArray,0,preserveLength);   
       return newArray;   
    }   
       
    // Test routine for resizeArray().   
    public static void main (String[] args) {   
       int[] a = {1,2,3};   
       a = (int[])resizeArray(a,5);   
       a[3] = 4;   
       a[4] = 5;   
       for (int i=0; i<a.length; i++)   
          System.out.println (a[i]);   
    } 
    View Code
  • 相关阅读:
    leetcode279. 完全平方数
    leetcode752. 打开转盘锁
    C++中new和delete来创建和释放动态数组
    创建vector<T>容器
    C++ vector初始化方式
    leetcode622. 设计循环队列
    c++ new
    leetcode138. 复制带随机指针的链表
    MySql服务器重启 || 修改mysql原始密码
    JS中的正则表达式
  • 原文地址:https://www.cnblogs.com/101key/p/3336340.html
Copyright © 2011-2022 走看看