posts - 70,comments - 408,trackbacks - 0

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

          posted on 2007-04-28 13:38 我心依舊 閱讀(1798) 評論(1)  編輯  收藏

          FeedBack:
          # re: 工作之余,整理了一下平時處理數據的一些常用的,簡單的方法。希望對學習JAVA的朋友有點幫助。[未登錄]
          2007-07-05 03:15 | sam
          Nice, thanks
            回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 乌拉特中旗| 凯里市| 囊谦县| 博兴县| 垫江县| 宁国市| 邵东县| 扶沟县| 清水县| 仙桃市| 栾城县| 磐石市| 洪江市| 广南县| 谢通门县| 乌拉特前旗| 延寿县| 辽中县| 偏关县| 辽宁省| 海城市| 平凉市| 福泉市| 甘孜县| 安岳县| 铜鼓县| 原平市| 会泽县| 宜兴市| 吉林省| 萨迦县| 浦城县| 泸西县| 宁晋县| 资中县| 加查县| 平山县| 田林县| 乐都县| 乌兰察布市| 天门市|