平时常用的一些java方法,请留意。
package com.util; import java.io.BufferedInputStream; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.URL; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Properties; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SuperUitl { public static void main(String[] args) { System.out.println(); } /** * 全角转半角 * trr 要转换成半角的字符串 */ public static String change(String str) { String outStr=""; String test=""; byte[] code = null; for(int i=0;i<str.length();i++) { try { test = str.substring(i,i+1); code = test.getBytes("unicode"); } catch(java.io.UnsupportedEncodingException e) { } if (code[3] == -1) { code[2] = (byte)(code[2]+32); code[3] = 0; try { outStr = outStr + new String(code,"unicode"); } catch(java.io.UnsupportedEncodingException e) { } } else { outStr = outStr + test; } } return outStr; } /** * 根据key读取value * filePath 要操作的properties文件路径 * key 要获得数据的key */ public static String readValue(String filePath,String key) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream (new FileInputStream(filePath)); props.load(in); String value = props.getProperty (key); return value; } catch (Exception e) { return null; } } /** * 读取properties的全部信息 * filePath 要操作的properties文件路径 */ public static Map readProperties(String filePath) { Map map = new HashMap(); Properties props = new Properties(); try { InputStream in = new BufferedInputStream (new FileInputStream(filePath)); props.load(in); Enumeration en = props.propertyNames(); while (en.hasMoreElements()) { String key = (String) en.nextElement(); String Property = props.getProperty (key); map.put(key,Property); } return map; } catch (Exception e) { return null; } } /** * 写入properties信息 * filePath 要操作的properties文件路径 * key 要写入的key * value 要写入的value */ public static boolean writeProperties(String filePath,String key,String value) { Properties prop = new Properties(); try { InputStream fis = new FileInputStream(filePath); //从输入流中读取属性列表(键和元素对) prop.load(fis); //调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。 //强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。 OutputStream fos = new FileOutputStream(filePath); prop.setProperty(key,value); //以适合使用 load 方法加载到 Properties 表中的格式, //将此 Properties 表中的属性列表(键和元素对)写入输出流 prop.store(fos, "Update '" + key + "' value"); return true; } catch (IOException e) { return false; } } /** * 返回标准系统时间 */ public static String getDate() { SimpleDateFormat ft=null; Date date=null; Calendar cl= Calendar.getInstance(); cl.setTime(new java.util.Date()); date=cl.getTime(); ft=new SimpleDateFormat("yyyy-MM-dd HH:mm"); String dateTime = ft.format(date); return dateTime; } /** * 从指定的字符串中提取Email * content 指定的字符串 */ public static String parse(String content) { String email = null; if (content==null || content.length()<1) { return email; } //找出含有@ int beginPos; int i; String token = "@"; String preHalf=""; String sufHalf = ""; beginPos = content.indexOf(token); if (beginPos>-1) { //前项扫描 String s = null; i= beginPos; while(i>0) { s = content.substring(i-1,i); if (isLetter(s)) preHalf = s+preHalf; else break; i--; } //后项扫描 i= beginPos+1; while( i<content.length()) { s = content.substring(i,i+1); if (isLetter(s)) sufHalf = sufHalf +s; else break; i++; } //判断合法性 email = preHalf + "@" + sufHalf; if (isEmail(email)) { return email; } } return null; } /** * 判断是不是合法Email * email Email地址 */ public static boolean isEmail(String email) { try { if (email==null || email.length()<1 || email.length()>256) { return false; } String check = "^([0-9a-zA-Z]+[_.0-9a-zA-Z-]+)@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2,3})$"; Pattern regex = Pattern.compile(check); Matcher matcher = regex.matcher(email); boolean isMatched = matcher.matches(); if(isMatched) { return true; } else { return false; } } catch (RuntimeException e) { return false; } } /** * 判断是不是合法字符 * c 要判断的字符 */ public static boolean isLetter(String c) { boolean result = false; if (c==null || c.length()<0) { return false; } //a-z if (c.compareToIgnoreCase("a")>=0 && c.compareToIgnoreCase("z")<=0) { return true; } //0-9 if (c.compareToIgnoreCase("0")>=0 && c.compareToIgnoreCase("9")<=0) { return true; } //. - _ if (c.equals(".") || c.equals("-") || c.equals("_") ) { return true; } return result; } /** * 删除整个目录的全部图片 * filePath 要删除的目录路径 */ public static boolean deleteImage(String filePath) { try { File file = new File(filePath); File[] files = file.listFiles(); for(int i=0;i<files.length;i++) { try { //系统文件不删除 if(!(files[i].getName()).equalsIgnoreCase("Thumbs.db")) { if(files[i].isFile()) { files[i].delete(); } else if(files[i].isDirectory()) { files[i].delete(); } else { files[i].delete(); } } } catch (RuntimeException e) {; } } return true; } catch (RuntimeException e) { return false; } } /** * 保存网络上的图片到指定目录 * filePath 要保存到本地服务器的目录 * imagePath 网络图片的UIL地址 */ public static boolean saveImage(String filePath,String imagePath) { try { if(imagePath.length()>1024 || imagePath.equals("")) { return false; } String fileName = imagePath.substring(imagePath.lastIndexOf("/")+1,imagePath.length()); filePath = filePath+fileName; URL url = null; try { url = new URL(imagePath); } catch(Exception e) { return false; } FilterInputStream in=(FilterInputStream) url.openStream(); File fileOut=new File(filePath); FileOutputStream out=new FileOutputStream(fileOut); byte[] bytes=new byte[1024]; int c; while((c=in.read(bytes))!=-1) { out.write(bytes,0,c); } in.close(); out.close(); return true; } catch(Exception e) { return false; } } /** * 写入日志 * filePath 日志文件的路径 * code 要写入日志文件的内容 */ public static boolean print(String filePath,String code) { try { File tofile=new File(filePath); FileWriter fw=new FileWriter(tofile,true); BufferedWriter bw=new BufferedWriter(fw); PrintWriter pw=new PrintWriter(bw); System.out.println(getDate()+":"+code); pw.println(getDate()+":"+code); pw.close(); bw.close(); fw.close(); return true; } catch (IOException e) { return false; } } /** * 判断是不是合法手机 * handset 手机号码 */ public static boolean isHandset(String handset) { try { if(!handset.substring(0,1).equals("1")) { return false; } if (handset==null || handset.length()!=11) { return false; } String check = "^[0123456789]+$"; Pattern regex = Pattern.compile(check); Matcher matcher = regex.matcher(handset); boolean isMatched = matcher.matches(); if(isMatched) { return true; } else { return false; } } catch (RuntimeException e) { return false; } } }