⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 superutil.java

📁 struts+javabean写的聊天程序
💻 JAVA
字号:
package com.chat.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.io.UnsupportedEncodingException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Map.Entry;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class SuperUtil {

	@SuppressWarnings("unchecked")
	public static List mapValueToList(Map map) {
		List list = new ArrayList();
		Iterator it = map.entrySet().iterator();
		while (it.hasNext()){
			Map.Entry entry = (Entry) it.next();
			list.add(entry.getValue());
		}
		return list;
	}
	
	public static String[][]  mapToPlanarArray(Map map) {
		String[][] string = new String[map.size()][2];
		List keylist = mapKeyToList(map);
		List valuelist = mapValueToList(map);
		for(int i=0; i<map.size(); i++){
			string[i][1] = keylist.get(i).toString();
			string[i][0] = valuelist.get(i).toString();
		}
		return string;
	}
	

	@SuppressWarnings("unchecked")
	public static List mapKeyToList(Map map) {
		List list = new ArrayList();
		Iterator it = map.entrySet().iterator();
		while (it.hasNext()){
			Map.Entry entry = (Entry) it.next();
			list.add(entry.getKey());
		}
		return list;
	}

	/**
	 * 字符编码转换iso8859-1 转为 gb2312
	 * 
	 * @param str
	 * @return
	 */
	public static String isoToGB2312(String str) {
		if (isNull(str)){
			return str;
		}
		String temp = null;
		try{
			temp = new String(str.getBytes("ISO8859-1"), "GB2312");
		} catch ( UnsupportedEncodingException e ){
			e.printStackTrace();
		}
		return temp;
	}

	/**
	 * 截取日期部分
	 * 
	 * @param str
	 * @return
	 */
	public static String trimDateString(String str) {
		if (isNull(str)){
			return str;
		}
		str = str.trim().substring(0, 10);
		return str;
	}

	/**
	 * 判断字符串是不是为空
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isNull(String str) {
		boolean flag = false;
		if (str == null || "".equals(str)){
			flag = true;
		} else{
			flag = false;
		}
		return flag;

	}

	public static boolean isNotNull(String str) {
		boolean flag = false;
		if (str == null || "".equals(str)){
			flag = false;
		} else{
			flag = true;
		}
		return flag;

	}

	/**
	 * 全角转半角 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文件路径
	 */
	@SuppressWarnings("unchecked")
	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 getDate12() {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		String s = sdf.format(new Date());
		return s;
	}

	/**
	 * 返回标准系统时间24小时制
	 */
	public static String getDate24() {
		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:ss");
		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(getDate24() + ":" + code); // 以24小时制
			pw.println(getDate24() + ":" + 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;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -