JAVA函數庫


1. 文件相關

1.1 判斷目錄是否存在

public static boolean dictionaryExist(String path) {
        File file = new File(path);
        if (file.exists() && file.isDirectory()) {
            return true;
        } else {
            return false;
        }
    }
View Code

1.2 創建多級目錄

public static void dictionaryCreate(String path) {
        File file = new File(path);
        if (file.exists() && file.isDirectory()) {

        } else {
            file.mkdirs();
        }
    }
View Code

1.3 判斷文件是否存在

    public static boolean fileExist(String fileName) {
        File file = new File(fileName);
        if (file.exists() && file.isFile()) {
            return true;
        } else {
            return false;
        }
    }
View Code

1.4 刪除文件

    public static void deleteFile(String fileName) {
        File file = new File(fileName);
        if (file.exists() && file.isFile()) {
            file.delete();
        }
    }
View Code

2. Http相關

2.1 執行POST

    public static String doPost(String uri, String json) throws Exception {
        return doPost(uri, json, null);
    }

    public static String doPost(String uri, Map<String, Object> params) throws Exception {
        return doPost(uri, params, null);
    }

    public static String doPost(String uri, String json, Map<String, String> headers) throws Exception {
        logger.debug("Execute Http Post ----------------------->>>>>>");
        logger.debug("uri:" + uri);
        logger.debug("json:" + json);
        logger.debug("headers:" + headers);
        CloseableHttpClient httpClient = HttpClients.createDefault();
        HttpPost httpPost = new HttpPost(uri);
        if (headers != null) {
            Set<String> headerKeys = headers.keySet();
            for (String headerName : headerKeys) {
                httpPost.setHeader(headerName, (String) headers.get(headerName));
            }
        }
        if (json != null) {
            httpPost.setEntity(new StringEntity(json, CODE_TYPE));
        }
        CloseableHttpResponse response = httpClient.execute(httpPost);
        if (response.getStatusLine().getStatusCode() != 200) {
            throw new Exception("Error To Do Post:[" + response.getStatusLine().getStatusCode() + "] " + response.getStatusLine().getReasonPhrase());
        }
        HttpEntity entity = response.getEntity();
        String responseBody = EntityUtils.toString(entity, CODE_TYPE);
        httpClient.close();
        logger.debug("responseBody:" + responseBody);
        logger.debug("Complete Http Post ----------------------->>>>>>");
        return responseBody;
    }

    public static String doPost(String uri, Map<String, Object> params, Map<String, String> headers) throws Exception {
        logger.debug("Execute Http Post ----------------------->>>>>>");
        logger.debug("uri:" + uri);
        logger.debug("params:" + params);
        logger.debug("headers:" + headers);
        CloseableHttpClient httpClient = HttpClients.createDefault();
        HttpPost httpPost = new HttpPost(uri);
        if (headers != null) {
            Set<String> headerKeys = headers.keySet();
            for (String headerName : headerKeys) {
                httpPost.setHeader(headerName, (String) headers.get(headerName));
            }
        }
        if (params != null) {
            List<NameValuePair> paramsPost = new ArrayList<NameValuePair>();
            Set<String> paramKeys = params.keySet();
            for (String paramName : paramKeys) {
                paramsPost.add(new BasicNameValuePair(paramName, params.get(paramName).toString()));
            }
            httpPost.setEntity(new UrlEncodedFormEntity(paramsPost, CODE_TYPE));
        }
        CloseableHttpResponse response = httpClient.execute(httpPost);
        if (response.getStatusLine().getStatusCode() != 200) {
            throw new Exception("Error To Do Post:[" + response.getStatusLine().getStatusCode() + "] " + response.getStatusLine().getReasonPhrase());
        }
        HttpEntity entity = response.getEntity();
        String responseBody = EntityUtils.toString(entity, CODE_TYPE);
        httpClient.close();
        logger.debug("responseBody:" + responseBody);
        logger.debug("Complete Http Post ----------------------->>>>>>");
        return responseBody;
    }
View Code

2.2 執行GET

    public static String doGet(String uri, Map<String, Object> params, Map<String, String> headers) throws Exception {
        logger.debug("Execute Http Get ----------------------->>>>>>");
        logger.debug("uri:" + uri);
        logger.debug("params:" + params);
        logger.debug("headers:" + headers);
        if (params != null) {
            uri = uri + "?";
            Set<String> paramKeys = params.keySet();
            for (String paramName : paramKeys) {
                uri = uri + paramName + "=" + params.get(paramName) + "&";
            }
            uri = uri + "guid=" + UUID.randomUUID().toString();
        }
        CloseableHttpClient httpClient = HttpClients.createDefault();
        HttpGet httpGet = new HttpGet(uri);
        if (headers != null) {
            Set<String> headerKeys = headers.keySet();
            for (String headerName : headerKeys) {
                httpGet.setHeader(headerName, (String) headers.get(headerName));
            }
        }
        CloseableHttpResponse response = httpClient.execute(httpGet);
        if (response.getStatusLine().getStatusCode() != 200) {
            throw new Exception("Error To Do Post:[" + response.getStatusLine().getStatusCode() + "] " + response.getStatusLine().getReasonPhrase());
        }
        HttpEntity entity = response.getEntity();
        String responseBody = EntityUtils.toString(entity, CODE_TYPE);
        httpClient.close();
        logger.debug("responseBody:" + responseBody);
        logger.debug("Complete Http Post ----------------------->>>>>>");
        return responseBody;
    }
View Code

3. String相關

3.1 判斷字符串為空

    public static final boolean isEmpty(String value) {
        return value == null || value.equals("");
    }
    
    public static final boolean isEmpty(Object value) {
        return value == null || value.toString().equals("");
    }
View Code

3.2 生成UUID

    public static final String getGUID() {
        return UUID.randomUUID().toString().replace("-", "");
    }
View Code

3.3 首字母大寫

    public static final String firstCharUpper(String value) {
        return value.substring(0, 1).toUpperCase()+value.substring(1, value.length());
    }
View Code

3.4 給bean設定id

    public static final <T> T setNewID(Class<T> clazz, T object, String idField) throws Exception {
        idField = firstCharUpper(idField);
        Method getMethod = clazz.getMethod("get"+idField);
        Method setMethod = clazz.getMethod("set"+idField, String.class);
        if (getMethod == null || setMethod == null) {
            return object;
        } else {
            String id = (String) getMethod.invoke(object);
            if (isEmpty(id)) {
                setMethod.invoke(object, getGUID());
            }
            return object;
        }
    }
View Code

4. 加解密相關

4.1 MD5加密

public final static String MD5(String content) throws UnsupportedEncodingException, NoSuchAlgorithmException {
        //用於加密的字符
        char md5String[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
        //使用平台的默認字符集將此 String 編碼為 byte序列,並將結果存儲到一個新的 byte數組中
        byte[] btInput = content.getBytes("UTF-8");
        //信息摘要是安全的單向哈希函數,它接收任意大小的數據,並輸出固定長度的哈希值。
        MessageDigest mdInst = MessageDigest.getInstance("MD5");
        //MessageDigest對象通過使用 update方法處理數據, 使用指定的byte數組更新摘要
        mdInst.update(btInput);
        // 摘要更新之后,通過調用digest()執行哈希計算,獲得密文
        byte[] md = mdInst.digest();
        // 把密文轉換成十六進制的字符串形式
        int j = md.length;
        char str[] = new char[j * 2];
        int k = 0;
        for (int i = 0; i < j; i++) {   //  i = 0
            byte byte0 = md[i];  //95
            str[k++] = md5String[byte0 >>> 4 & 0xf];    //    5
            str[k++] = md5String[byte0 & 0xf];   //   F
        }
        //返回經過加密后的字符串
        return new String(str);
    }
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM