zoukankan      html  css  js  c++  java
  • 全角转半角繁转简大写转小写的工具方法

    public class CharCodeUtils {
    	private static CharsetConverter cc = new CharsetConverter(10);
    	private static Logger logger = Logger.getLogger(CharCodeUtils.class);
    	private static boolean hasInit = false;
    
    	/**
    	 * 获取配置文件的路径 String[]
    	 * 
    	 * @return
    	 * 
    	 */
    	private static String getFileLoc() throws DomainException {
    		String filePath = "";
    		try {
    			java.net.URL classUrl = CharCodeUtils.class.getResource("");
    			filePath = classUrl.getPath();
    		} catch (Exception e) {
    			logger.error("获取charmap文件绝对路径失败!");
    		}
    		logger.info("filePath is :"+filePath);
    		if (filePath.indexOf(".jar") != -1) {
    			String jarFile = filePath.toString().substring(5,
    					filePath.toString().length() - 24);
    			logger.info("jarFile is :"+jarFile);
    			try {
    				JarFileOper jfo = new JarFileOper(jarFile);
    				return jfo.extraFileToPath();
    			} catch (Exception e) {
    				logger.error("解压jar包出错!", e);
    				throw new DomainException("can't get charmap file from jar:"
    						+ jarFile);
    			}
    		} else {
    			return filePath.toString().substring(0,
    					filePath.toString().length() - 22)
    					+ "charmap";
    		}
    	}
    
    	/**
    	 * 初始化CharCodeUtils,加载相应的编码配置文件 void
    	 * 
    	 */
    	private static void init() throws DomainException {
    		if (!hasInit) {
    			String path = getFileLoc() + File.separator;
    			cc.setFiles(new String[] {
    					path + "uct2s.ctb",// 繁体转简体
    					path + "ucs2t.ctb",// 简体转繁体
    					path + "ucsbc2dbc.ctb",// 全角转半角
    					null, null, path + "ucint2ext.ctb", path + "ucrglt.ctb",
    					path + "ucphrase.ctb", });
    			cc.init();
    			hasInit = true;
    		}
    	}
    
    	/**
    	 * 繁体转简体 void
    	 * 
    	 * @param orString
    	 * 
    	 */
    	public static String t2s(String orString) throws DomainException {
    		init();
    		return cc.map(0, orString);
    	}
    
    	/**
    	 * 简体转繁体 void
    	 * 
    	 * @param orString
    	 * 
    	 */
    	public static String s2t(String orString) throws DomainException {
    		init();
    		return cc.map(1, orString);
    	}
    
    	/**
    	 * 全角转半角 void
    	 * 
    	 * @param orString
    	 * 
    	 */
    	public static String w2h(String orString) throws DomainException {
    		init();
    		return cc.map(2, orString);
    	}
    
    	/**
    	 * StringUtils用到的 String
    	 * 
    	 * @param orString
    	 * @return
    	 * @throws DomainException
    	 * 
    	 */
    	public static String QBchange(String orString) throws DomainException {
    		init();
    		//logger.info("QBchange:" + orString);
    		return cc.map(2, cc.map(0, orString));
    
    	}
    
    	/**
    	 * 转化特殊符号
    	 * 
    	 * @param str
    	 * @return
    	 */
    	public static String changeSS(String str) {
    		str = StringUtils.replace(str, "`", "·");
    		str = StringUtils.replace(str, "'", "’");
    		str = StringUtils.replace(str, "\"", "”");
    		str = StringUtils.replace(str, ",", ",");
    		str = StringUtils.replace(str, ";", ";");
    		str = StringUtils.replace(str, ".", "。");
    		str = StringUtils.replace(str, ":", ":");
    		str = StringUtils.replace(str, "?", "?");
    		str = StringUtils.replace(str, "!", "!");
    		str = StringUtils.replace(str, "\\", "\");
    		str = StringUtils.replace(str, "<", "<");
    		str = StringUtils.replace(str, ">", ">");
    
    		return str;
    	}
    
    	/**
    	 * 主方法 void
    	 * 
    	 * @param argz
    	 * 
    	 */
    	public static void main(String[] argz) throws DomainException {
    		QBchange("abc");
    	}
    
    }
    
  • 相关阅读:
    Android开发新手学习总结(六)——android开发目录结构【图文版】
    Android开发新手学习总结(一)——使用Android Studio搭建Android集成开发环境
    62个Android Studio小技巧合集
    Android Studio 入门指南
    Unity操作
    Unity的安装和破解
    pb数据窗口设置操作
    Roll A Ball
    c实现旋转数列
    用循环添加多行、多列视图
  • 原文地址:https://www.cnblogs.com/highriver/p/2152011.html
Copyright © 2011-2022 走看看