java 常用工具類 (值得收藏)
package org.fh.util; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Random; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 說明:常用工具 * 作者:FH Admin * from:fhadmin.cn */ public class Tools { /** * 隨機生成六位數驗證碼 * @return */ public static int getRandomNum(){ Random r = new Random(); return r.nextInt(900000)+100000;//(Math.random()*(999999-100000)+100000) } /** * 隨機生成四位數驗證碼 * @return */ public static int getRandomNum4(){ Random r = new Random(); return r.nextInt(9000)+1000; } /** * 隨機生成兩位數驗證碼 * @return */ public static int getRandomNum2(){ Random r = new Random(); return r.nextInt(90)+10; } /** * 檢測字串是否不為空(null,"","null") * @param s * @return 不為空則返回true,否則返回false */ public static boolean notEmpty(String s){ return s!=null && !"".equals(s) && !"null".equals(s); } /** * 檢測字串是否為空(null,"","null") * @param s * @return 為空則返回true,不否則返回false */ public static boolean isEmpty(String s){ return s==null || "".equals(s) || "null".equals(s); } /** * 字串轉換為字串陣列 * @param str 字串 * @param splitRegex 分隔符 * @return */ public static String[] str2StrArray(String str,String splitRegex){ if(isEmpty(str)){ return null; } return str.split(splitRegex); } /** * 用預設的分隔符(,)將字串轉換為字串陣列 * @param str 字串 * @return */ public static String[] str2StrArray(String str){ return str2StrArray(str,",\\s*"); } /** * 往檔案裡的內容 * @param filePath 檔案路徑 * @param content 寫入的內容 */ public static void writeFile(String fileP,String content){ String filePath = String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))+"../../"; //專案路徑 filePath = filePath.replaceAll("file:/", ""); filePath = filePath.replaceAll("%20", " "); filePath = filePath.trim() + fileP.trim(); if(filePath.indexOf(":") != 1){ filePath = File.separator + filePath; } try { OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(filePath),"utf-8"); BufferedWriter writer=new BufferedWriter(write); writer.write(content); writer.close(); } catch (IOException e) { e.printStackTrace(); } } /** * 往檔案裡的內容(Projectpath下) * @param filePath 檔案路徑 * @param content 寫入的內容 */ public static void writeFileCR(String fileP,String content){ String filePath = PathUtil.getProjectpath() + fileP; try { OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(filePath),"utf-8"); BufferedWriter writer=new BufferedWriter(write); writer.write(content); writer.close(); } catch (IOException e) { e.printStackTrace(); } } /** * 驗證郵箱 * @param email * @return */ public static boolean checkEmail(String email){ boolean flag = false; try{ String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; Pattern regex = Pattern.compile(check); Matcher matcher = regex.matcher(email); flag = matcher.matches(); }catch(Exception e){ flag = false; } return flag; } /** * 驗證手機號碼 * @param mobiles * @return */ public static boolean checkMobileNumber(String mobileNumber){ boolean flag = false; try{ Pattern regex = Pattern.compile("^(((13[0-9])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8})|(0\\d{2}-\\d{8})|(0\\d{3}-\\d{7})$"); Matcher matcher = regex.matcher(mobileNumber); flag = matcher.matches(); }catch(Exception e){ flag = false; } return flag; } /** * 檢測KEY是否正確 * @param paraname 傳入引數 * @param FKEY 接收的 KEY * @return 為空則返回true,不否則返回false */ public static boolean checkKey(String paraname, String FKEY){ paraname = (null == paraname)? "":paraname; return MD5.md5(paraname+DateUtil.getDays()+",fh,").equals(FKEY); } /**讀取txt裡的全部內容 * @param fileP 檔案路徑 * @param encoding 編碼 * @return */ public static String readTxtFileAll(String fileP, String encoding) { StringBuffer fileContent = new StringBuffer(); try { String filePath = String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))+"../../"; //專案路徑 filePath = filePath.replaceAll("file:/", ""); filePath = filePath.replaceAll("%20", " "); filePath = filePath.trim() + fileP.trim(); if(filePath.indexOf(":") != 1){ filePath = File.separator + filePath; } File file = new File(filePath); if (file.isFile() && file.exists()) { // 判斷檔案是否存在 InputStreamReader read = new InputStreamReader( new FileInputStream(file), encoding); // 考慮到編碼格式 BufferedReader bufferedReader = new BufferedReader(read); String lineTxt = null; while ((lineTxt = bufferedReader.readLine()) != null) { fileContent.append(lineTxt); fileContent.append("\n"); } read.close(); }else{ System.out.println("找不到指定的檔案,檢視此路徑是否正確:"+filePath); } } catch (Exception e) { System.out.println("讀取檔案內容出錯"); } return fileContent.toString(); } /** * 讀取Projectpath某檔案裡的全部內容 * @param filePath 檔案路徑 */ public static String readFileAllContent(String fileP) { StringBuffer fileContent = new StringBuffer(); try { String encoding = "utf-8"; File file = new File(PathUtil.getProjectpath() + fileP);//檔案路徑 if (file.isFile() && file.exists()) { // 判斷檔案是否存在 InputStreamReader read = new InputStreamReader( new FileInputStream(file), encoding); // 考慮到編碼格式 BufferedReader bufferedReader = new BufferedReader(read); String lineTxt = null; while ((lineTxt = bufferedReader.readLine()) != null) { fileContent.append(lineTxt); fileContent.append("\n"); } read.close(); }else{ System.out.println("找不到指定的檔案,檢視此路徑是否正確:"+fileP); } } catch (Exception e) { System.out.println("讀取檔案內容出錯"); } return fileContent.toString(); } public static void main(String[] args) { System.out.println(getRandomNum()); } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31558068/viewspace-2870851/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 深入 Java 類載入全流程,值得你收藏Java
- java 常用工具類Java
- Java常用工具類方法整理Java
- 哪些茶葉值得收藏?
- Java單元測試常用工具類小結Java
- 值得收藏的免費api集合API
- 值得收藏的免費好用APIAPI
- Python實戰小案例,值得收藏!Python
- 技術乾貨:Java程式碼常用工具類整理歸納Java
- 一些值得收藏的PowerShell工具
- 45個值得收藏的 CSS 形狀CSS
- 值得收藏的正規表示式大全
- Java常用工具介紹Java
- Android常用工具類的封裝Android封裝
- 全網最全Flutter常用工具類Flutter
- 前端基礎面試大全,值得你收藏前端面試
- 值得收藏!超50個好用免費APIAPI
- 免費好用的API彙總,值得收藏!API
- 【譯】45個值得收藏的 CSS 形狀CSS
- 哪些茶葉值得收藏?志強茶超市
- 哪些茶葉值得收藏?志強茶業
- 哪些茶葉值得收藏?志強茶莊
- Java Web開發常用工具JavaWeb
- 從大神的角度深入理解MySQL,值得收藏~MySql
- 值得收藏的TCP套介面程式設計文章TCP程式設計
- 值得收藏!最全勒索解密工具等你來拿解密
- 值得收藏的資料分析基礎知識
- 框架用的好,下班走的早!值得收藏框架
- 無需語言的數學證明,值得收藏!
- 值得收藏的27個機器學習的小抄機器學習
- 分享5款優秀的軟體工具,值得收藏
- 值得收藏的一些免費可用API 大全API
- 關於效能測試的這點事,值得收藏~
- React Native 效能優化指南【全網最全,值得收藏】React Native優化
- Android Jetpack從入門到精通(深度好文,值得收藏)AndroidJetpack
- 值得收藏的MacBook快捷鍵 教你如何快速入門Mac
- Flutter超值得收藏的優秀學習資源Flutter
- 盤點五款值得收藏的 Linux 開發板Linux