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