工具方法,其中包括在java类中编码解码方法可以js中的编码解码方法合用

public class CodeUtil {
 public static final SimpleDateFormat YMDHMS = new SimpleDateFormat("yyyyMMddHHmmss");
 

 public static  String encode(String str)
 {
  if(str==null||str.length()<0)
  {
   return "";
  }
  String returnStr="";
  int length=str.length();
  for(int i=0;i<length;i++)
  {
   char a=str.charAt(i);
   int b=a;
   if(i!=(length-1))
     returnStr+=b+"--";
   else
    returnStr+=b;
  }
  return returnStr;
 }
 public static String decode(String strCode)
 {
//System.out.println("debug CodeUtil L26==>"+strCode);  
  if(strCode==null||strCode.trim().length()<=0)
  {
   return "";
  }
  String[] str=strCode.split("--");
  String returnStr="";
  if(str.length>0){
  for(int i=0;i<str.length;i++)
  {
   int stint=Integer.parseInt(str[i]);
   char st=(char) stint;
   returnStr+=st;
  }
//  System.out.println("debug in CodeUtilL41==>"+returnStr);
  return returnStr;
  
  }else{
   return "";
  }
 }
 public static void main(String[]sdfsd)
 {
  String str="西湖";
  String s=CodeUtil.encode(str);
  System.out.println("encode=>"+s);
  System.out.println(CodeUtil.decode(s));
  
    MemCached mc = new MemCached();
    MemcachService ms = new MemcachServiceImpl();
    MemCachedClient mcc = new MemCachedClient();
    List<Object[]> re = new ArrayList<Object[]>();
  //   re = ms.searchLuneceDataByKeyword("北京", ""); 
    System.out.println("---------");
   Object[] obj =  (Object[]) mcc.get("6666");
   System.out.println(obj);
   System.out.println(obj[5]+"--101--"+obj[1]+" lineId="+obj[18]);
 }

 
 

 /**切分词方法
  * 20090903 galen  chinese keyword segment with MMapl
  * @throws Exception
  */
 public static String segmentKeyword(String keyword) throws Exception{
  //keyword = CodeUtil.stringFilter(keyword);
  Analyzer analyzer = new   MMAnalyzer();
        Reader r = new StringReader(keyword);     
        TokenFilter sf = (TokenFilter) analyzer.tokenStream("", r);
        StringBuffer sb = new StringBuffer();
        int i=0;
        Token  t;     
       while ((t = sf.next()) != null) {     
        sb.append(t.termBuffer()).append(" "); 
        }
       return sb.toString();
    }
 /**
  * 20091107 galen  清除掉所有特殊字符
  * @throws Exception
  */
     public   static    String stringFilter(String    str)   throws    PatternSyntaxException    {    
     // 只允许字母和数字      
     // String    regEx   =   "[^a-zA-Z0-9]";
        String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]"; 
        Pattern    p    =    Pattern.compile(regEx);    
        Matcher    m    =    p.matcher(str);    
     return    m.replaceAll("").trim();    
 }
   
     /**
      * 20091107 过滤 -和:
      * @throws Exception
      */
     public   static    String dateFilter(String    str)   throws    PatternSyntaxException    {    
      // 只允许字母和数字      
      // String    regEx   =   "[^a-zA-Z0-9]";
      String regEx="[-:]"; 
      Pattern    p    =    Pattern.compile(regEx);    
      Matcher    m    =    p.matcher(str);    
      return    m.replaceAll("").trim();    
     }
    /**
     * 删除单个文件
     * @param    sPath     被删除文件的文件名
     * @return 单个文件删除成功返回true,否则返回false
     */ 
     public static boolean deleteFile(String sPath) {  
        boolean  flag = false;  
         File  file = new File(sPath);  
         // 路径为文件且不为空则进行删除  
         if (file.isFile() && file.exists()) {
             file.delete();  
             flag = true;  
         }  
        return flag;  
     } 
     /**
      * 删除目录(文件夹)以及目录下的文件
      * @param   sPath 被删除目录的文件路径
      * @return  目录删除成功返回true,否则返回false
      */
     public static boolean deleteDirectory(String sPath) {
      boolean flag = true;
         //如果sPath不以文件分隔符结尾,自动添加文件分隔符
         if (!sPath.endsWith(File.separator)) {
             sPath = sPath + File.separator;
         }
         File dirFile = new File(sPath);
         //如果dir对应的文件不存在,或者不是一个目录,则退出
         if (!dirFile.exists() || !dirFile.isDirectory()) {
             return false;
         }
         //删除文件夹下的所有文件(包括子目录)
         File[] files = dirFile.listFiles();
         for (int i = 0; i < files.length; i++) {
             //删除子文件
             if (files[i].isFile()) {
                 flag = deleteFile(files[i].getAbsolutePath());
                 if (!flag) break;
             } //删除子目录
             else {
                 flag = deleteDirectory(files[i].getAbsolutePath());
                 if (!flag) break;
             }
         }
         if (!flag) return false;
         //删除当前目录
         if (dirFile.delete()) {
             return true;
         } else {
             return false;
         }
     }
     public static String readValue(String propertiesNm,String key) {
      String filePath = MemCached.class.getResource("").getPath();
      int index = filePath.lastIndexOf("classes");
      filePath = filePath.substring(0,index)+"classes/"+propertiesNm;
      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) {
               e.printStackTrace();
               return null;
          }
      }
    /**
     * 20091123  写入properties信息
     * @param propertiesNm
     * @param parameterName
     * @param parameterValue
     */
     public static void writeProperties(String propertiesNm,String parameterName,String parameterValue) {
      Properties prop = new Properties();
      String filePath ="";
      try {
     filePath = MemCached.class.getResource("").getPath();
        int index = filePath.lastIndexOf("classes");
        filePath = filePath.substring(0,index)+"classes/"+propertiesNm;
        System.out.println("ffff--"+filePath);
       InputStream fis = new FileInputStream(filePath);
             //从输入流中读取属性列表(键和元素对)
             prop.load(fis);
             //调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。
             //强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
             OutputStream fos = new FileOutputStream(filePath);
             prop.setProperty(parameterName, parameterValue);
             //以适合使用 load 方法加载到 Properties 表中的格式,
             //将此 Properties 表中的属性列表(键和元素对)写入输出流
             prop.store(fos, "Update '" + parameterName + "' value");
         } catch (IOException e) {
          System.err.println("Visit "+filePath+" for updating "+parameterName+" value error");
         }
        
     }
    
    
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangyabin_520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值