`

common

    博客分类:
  • JAVA
阅读更多
/**
 * 
 */
package *;

import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;

@SuppressWarnings("unchecked")
public class Util {

    /**
     * 字符串替换,将 source 中的 oldString 全部换成 newString
     * 
     * @param source 源字符串
     * @param oldString 老的字符串
     * @param newString 新的字符串
     * @return 替换后的字符串
     */
    public static String replace(String source, String oldString, String newString) {
        StringBuffer output = new StringBuffer();
        int lengthOfSource = source.length(); // 源字符串长度
        int lengthOfOld = oldString.length(); // 老字符串长度
        int posStart = 0; // 开始搜索位置
        int pos; // 搜索到老字符串的位置
        while ((pos = source.indexOf(oldString, posStart)) >= 0) {
            output.append(source.substring(posStart, pos));
            output.append(newString);
            posStart = pos + lengthOfOld;
        }
        if (posStart < lengthOfSource) {
            output.append(source.substring(posStart));
        }
        return output.toString();
    }

    /**
     * Convenience method to return a String array as a delimited (e.g. CSV) String. E.g. useful for toString()
     * implementations.
     * 
     * @param arr array to display. Elements may be of any type (toString will be called on each element).
     * @param delim delimiter to use (probably a ,)
     */
    public static String arrayToDelimitedString(Object[] arr, String delim) {
        if (arr == null) {
            return "null";
        } else {
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < arr.length; i++) {
                if (i > 0) {
                    sb.append(delim);
                }
                sb.append(arr[i]);
            }
            return sb.toString();
        }
    }

    /**
     * 将空字符串转成默认字符串
     * 
     * @param str 要转化的字符串
     * @param dfValue 默认的字符串
     * @return 转化后的字符串
     */
    public static String dealNull(String str, String dfValue) {

        if (str == null) {
            return dfValue;
        } else {
            return str;
        }

    }

    /**
     * 将空字符串转成空字符串
     * 
     * @param str 要转化的字符串
     * @return 转化后的字符串
     */
    public static String dealNull(String str) {

        if (str == null) {
            return "";
        } else {
            return str;
        }

    }

    public static Object dealNull(Object obj) {

        if (obj == null) {
            return (Object) ("");
        } else {
            return obj;
        }

    }

    /**
     * 取消Html标记
     * 
     * @param str 原始文本
     * @return 取消Html标记后的文本
     */
    public static String htmlEncode(String str) {
        if (str != null) {
            str = replace(str, "&", "&amp;");
            str = replace(str, "&amp;amp;", "&amp;");
            str = replace(str, "&amp;quot;", "&quot;");
            str = replace(str, "\"", "&quot;");
            str = replace(str, "&amp;lt;", "&lt;");
            str = replace(str, "<", "&lt;");
            str = replace(str, "&amp;gt;", "&gt;");
            str = replace(str, ">", "&gt;");
            str = replace(str, "&amp;nbsp;", "&nbsp;");
            // str = replace(str," ","&nbsp;");
        }
        return str;
    }

    /**
     * 功能:格式化当前日期成长整型字符串
     * 
     * @return 返回长整型日期时间字符串
     */
    public static String longStringDate() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        return sdf.format(new Date());
    }

    /**
     * 取文件扩展名
     * 
     * @param fileName 文件名
     * @return 文件扩展名
     */
    public static String getFileExt(String fileName) {
        String value = new String();
        int start = 0;
        int end = 0;
        if (fileName == null)
            return null;
        start = fileName.lastIndexOf('.') + 1;
        end = fileName.length();
        value = fileName.substring(start, end);
        if (fileName.lastIndexOf('.') > 0)
            return value;
        else
            return "";

    }

    /**
     * 远程下载文件
     * 
     * @param destUrl
     * @param fileName
     * @return
     */
    public static boolean remoteDownload(String destUrl, String fileName) {
        boolean succeed = true;
        FileOutputStream fos = null;
        BufferedInputStream bis = null;
        HttpURLConnection httpUrl = null;
        URL url = null;
        byte[] buf = new byte[8096];
        int size = 0;

        try {
            // 建立链接
            url = new URL(destUrl);
            httpUrl = (HttpURLConnection) url.openConnection();
            // 连接指定的资源
            httpUrl.connect();

            if (httpUrl.getResponseCode() != HttpURLConnection.HTTP_OK) {
                System.out.println("连接资源文件地址[" + destUrl + "]失败.");
                succeed = false;
            }

            // 获取网络输入流
            bis = new BufferedInputStream(httpUrl.getInputStream());
            // 建立文件
            fos = new FileOutputStream(fileName);

            System.out.println("正在获取链接[" + destUrl + "]的内容...\n将其保存为文件[" + fileName + "]");
            if (httpUrl.getResponseCode() != 200) {
                System.out.println("获取文件链接[" + destUrl + "]失败.");
                succeed = false;
            }

            // 保存文件
            while ((size = bis.read(buf)) != -1) {
                fos.write(buf, 0, size);
            }
            System.out.println("资源[" + url + "]下载完毕!!!");
        }
        catch (IOException e) {

            System.out.println("资源[" + url + "]下载失败!!!");

            succeed = false;
        }
        finally {
            try {
                if (fos != null) {
                    fos.close();
                }
                if (bis != null) {
                    bis.close();
                }
            }
            catch (IOException ex) {
                System.out.println("关闭资源数据流失败!!!");
            }
            httpUrl.disconnect();
        }

        return succeed;
    }

    /**
     * @param arrVec
     * @param arrayName
     * @param exclude to filter
     * @return
     */
    public static String getScriptArray(Vector arrVec, String arrayName, String exclude[]) {
        return getScriptArray(arrVec, arrayName, exclude, false, false);
    }

    /**
     * @param arrVec
     * @param arrayName
     * @param allFlag ALL it shows
     * @return
     */
    public static String getScriptArray(Vector arrVec, String arrayName, boolean allFlag) {
        return getScriptArray(arrVec, arrayName, null, allFlag, false);
    }

    /**
     * @param arrVec
     * @param arrayName
     * @param exclude to filter
     * @param intFlag ----- it shows
     * @return
     */
    public static String getScriptArray(Vector arrVec, String arrayName, String exclude[], boolean intFlag) {
        return getScriptArray(arrVec, arrayName, exclude, false, intFlag);
    }

    /**
     * JSP script
     * 
     * <pre>
     *  Vector vecUsgeYn = codeMgr.getValues(&quot;UseYN&quot;);  
     *  Util.getScriptArray(vecUserLevel, &quot;arrUserLevel&quot;, true)
     *  Util.getScriptArray(vecUserLevel, &quot;arrUserLevel&quot;, null, true)
     *  Util.getScriptArray(vecUserLevel, &quot;arrUserLevel&quot;, null, false)
     *  Util.getScriptArray(vecUserLevel, &quot;arrUserLevel&quot;, null, true, false)
     * </pre>
     * 
     * @param arrVec data interface
     * @param arrayName name of script
     * @param exclude to filter
     * @param allFlag ALL it shows
     * @param initFlag ---- it shows
     * @return
     */
    public static String getScriptArray(Vector arrVec, String arrayName, String exclude[], boolean allFlag,
        boolean initFlag) {
        StringBuffer sb = new StringBuffer();
        sb.append(arrayName + " = new Array ( \r\n");
        if (allFlag)
            sb.append("\tnew Array('ALL',''),\r\n");
        else if (initFlag)
            sb.append("\tnew Array('-------------',''),\r\n");
        for (int idx = 0; idx < arrVec.size(); idx++) {
            String tmpStr[] = (String[]) arrVec.elementAt(idx);
            if (exclude != null) {
                boolean flag = false;
                for (int jdx = 0; jdx < exclude.length; jdx++) {
                    if (tmpStr[0].equals(exclude[jdx]))
                        flag = true;
                }
                if (!flag)
                    sb.append("\tnew Array(\"" + tmpStr[1] + "\",\"" + tmpStr[0] + "\"),\r\n");
            } else {
                sb.append("\tnew Array(\"" + tmpStr[1] + "\",\"" + tmpStr[0] + "\"),\r\n");
            }
        }
        return sb.substring(0, sb.length() - 3) + ");\n";
    }
}
分享到:
评论

相关推荐

    google common jar包

    "Google Common Jar包"是Google开发的一套Java库,主要用于提供一些通用的工具类和实用方法,极大地简化了日常编程工作。这个包里的类和接口设计得非常实用且高效,可以提升代码质量和可读性。在Java开发中,尤其是...

    common-io-3.1.1-API文档-中文版.zip

    赠送jar包:common-io-3.1.1.jar; 赠送原API文档:common-io-3.1.1-javadoc.jar; 赠送源代码:common-io-3.1.1-sources.jar; 赠送Maven依赖信息文件:common-io-3.1.1.pom; 包含翻译后的API文档:common-io-...

    common-image-3.1.1-API文档-中文版.zip

    赠送jar包:common-image-3.1.1.jar; 赠送原API文档:common-image-3.1.1-javadoc.jar; 赠送源代码:common-image-3.1.1-sources.jar; 赠送Maven依赖信息文件:common-image-3.1.1.pom; 包含翻译后的API文档:...

    nacos-common-2.0.4.RELEASE-API文档-中文版.zip

    赠送jar包:nacos-common-2.0.4.RELEASE.jar; 赠送原API文档:nacos-common-2.0.4.RELEASE-javadoc.jar; 赠送源代码:nacos-common-2.0.4.RELEASE-sources.jar; 赠送Maven依赖信息文件:nacos-common-2.0.4....

    wildfly-common-1.5.2.Final-API文档-中文版.zip

    赠送jar包:wildfly-common-1.5.2.Final.jar; 赠送原API文档:wildfly-common-1.5.2.Final-javadoc.jar; 赠送源代码:wildfly-common-1.5.2.Final-sources.jar; 赠送Maven依赖信息文件:wildfly-common-1.5.2....

    Common_currenty92_common_common类的作用_

    在Java编程语言中,"Common"通常用于表示通用或公共的功能模块,这可能是你提到的`currenty92_common_common类`的一部分上下文。`currenty92`可能是一个特定项目或者库的命名约定,而`common`类则通常包含了一系列...

    flink-table-common-1.12.7-API文档-中文版.zip

    赠送jar包:flink-table-common-1.12.7.jar; 赠送原API文档:flink-table-common-1.12.7-javadoc.jar; 赠送源代码:flink-table-common-1.12.7-sources.jar; 赠送Maven依赖信息文件:flink-table-common-1.12.7....

    实用Common.Lisp编程.pdf

    标题:“实用Common.Lisp编程.pdf” 描述:“实用Common.Lisp编程.pdf,2011.10出版” 从这些信息中,我们可以提炼出几个关键的知识点: ### Common Lisp语言简介 Common Lisp是一种高级的、通用的、多范式的编程...

    Android12版本-telephony-common源码jar

    `telephony-common`是这个模块的一部分,它提供了一系列公共接口和类,用于在不同的设备和Android版本之间实现电话服务的标准化。这里我们讨论的是针对Android 12版本的`telephony-common`源码jar,这是从Android...

    weixin-java-common-3.5.0-API文档-中文版.zip

    赠送jar包:weixin-java-common-3.5.0.jar; 赠送原API文档:weixin-java-common-3.5.0-javadoc.jar; 赠送源代码:weixin-java-common-3.5.0-sources.jar; 赠送Maven依赖信息文件:weixin-java-common-3.5.0.pom;...

    C#之Common工具类

    "Common工具类"是C#编程中一个非常重要的概念,它涉及到代码的复用性和模块化设计,这对于提高开发效率和维护性至关重要。在本篇文章中,我们将深入探讨C#中的Common工具类及其在实际开发中的应用。 首先,工具类...

    sentinel-transport-common-1.8.0-API文档-中文版.zip

    赠送jar包:sentinel-transport-common-1.8.0.jar; 赠送原API文档:sentinel-transport-common-1.8.0-javadoc.jar; 赠送源代码:sentinel-transport-common-1.8.0-sources.jar; 赠送Maven依赖信息文件:sentinel-...

    proto-google-common-protos-1.17.0-API文档-中文版.zip

    赠送jar包:proto-google-common-protos-1.17.0.jar; 赠送原API文档:proto-google-common-protos-1.17.0-javadoc.jar; 赠送源代码:proto-google-common-protos-1.17.0-sources.jar; 赠送Maven依赖信息文件:...

    Fortran之COMMON语句[文].pdf

    Fortran之COMMON语句 Fortran中的COMMON语句是一种数据共享机制,允许不同程序单元之间共享数据。COMMON语句可以用来定义无名公用区或有名公用区,无名公用区是指在一个程序中只有一个公用区,有名公用区是指可以在...

    ANSI Common Lisp 中文翻译版含目录

    ### ANSI Common Lisp 中文翻译版知识点概述 #### 一、前言 《ANSI Common Lisp》作为一本详尽介绍Common Lisp编程语言的经典著作,对于初学者来说是非常宝贵的资源。本书的中文翻译版本不仅包含了原书的所有内容...

    hadoop-common-2.2.0-bin-master

    《Hadoop Common 2.2.0:Windows平台上的Java API开发详解》 Hadoop Common 2.2.0是Apache Hadoop项目的核心组件之一,它提供了Hadoop生态系统中的通用工具和服务,支持分布式存储和计算。这个版本尤其适用于在...

    springfox-swagger-common-3.0.0-API文档-中文版.zip

    赠送jar包:springfox-swagger-common-3.0.0.jar; 赠送原API文档:springfox-swagger-common-3.0.0-javadoc.jar; 赠送源代码:springfox-swagger-common-3.0.0-sources.jar; 赠送Maven依赖信息文件:springfox-...

    liluo-common正式版

    《liluo-common正式版——Renpy动画框架集深度解析》 在数字艺术与互动叙事领域,Renpy是一个广受欢迎的开源工具,它为开发者提供了一种简单而强大的方式来创作视觉小说和互动故事。而“liluo-common”正是针对...

    springfox-swagger-common-2.7.0-API文档-中文版.zip

    赠送jar包:springfox-swagger-common-2.7.0.jar; 赠送原API文档:springfox-swagger-common-2.7.0-javadoc.jar; 赠送源代码:springfox-swagger-common-2.7.0-sources.jar; 赠送Maven依赖信息文件:springfox-...

    netty-common-4.1.65.Final-API文档-中英对照版.zip

    赠送jar包:netty-common-4.1.65.Final.jar; 赠送原API文档:netty-common-4.1.65.Final-javadoc.jar; 赠送源代码:netty-common-4.1.65.Final-sources.jar; 赠送Maven依赖信息文件:netty-common-4.1.65.Final....

Global site tag (gtag.js) - Google Analytics