2007-07-13
常用方法!
关键字: 常用方法javajava 代码
- 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;
- }
- }
- }







评论排行榜