Java Utils工具類大全


源碼和jar見:https://github.com/evil0ps/utils

#Java Utils
---
封裝了一些常用Java操作方法,便於重複開發利用.
另外希望身爲Java牛牛的你們一起測試和完善,歡迎入羣263641914 一起封裝和完成常用的Java代碼。
節約擼碼時間以方便有更多的時間去把妹子~

#開發環境
    Win7x64
    JDK1.7
    IDEA14

#項目結構

    │  README.md
    │  utils.iml
    ├─.idea
    ├─conf
    │      configFTP.properties
    │      ftp.properties
    ├─Junit#測試類
    │  │  Test.properties
    │  │
    │  └─evilp0s
    │      │  CharsetTest.java
    │      │  DateUtilTest.java
    │      │  DateUtilThreadSafeTest.java
    │      │  EmailUtilTest.java
    │      │  FilePathUtilTest.java
    │      │  FileUtilTest.java
    │      │  PrintUtilTest.java
    │      │  ProUtilTest.java
    │      │  RandomUtilTest.java
    │      │  RegUtilTest.java
    │      │  SecUtilTest.java
    │      │  StringUtilTest.java
    │      │  SupportTest.java
    │      │  SysUtilTest.java
    │      │  ZIPUtilTest.java
    │      │
    │      └─algorithmImpl
    │              FileEncodingUtilTest.java
    │              FileImplTest.java
    │              FileTypeImplTest.java
    ├─lib#需要的Jar
    ├─out#相應的Jar
    │  ├─artifacts
    │  │  └─evilp0s_util
    │  │          evilp0s-util.jar
    └─src
        └─evilp0s
            │  CharsetUtil.java     #字符串相關的工具類
            │  ClassUtil.java       #Java Class與反射相關的一些工具類
            │  ChinesUtil.java      #中文相關的工具類
            │  ConvertUtil.java     #轉換相關的工具類
            │  DateUtil.java        #日期時間相關的工具類
            │  EmailUtil.java       #Email相關的工具類
            │  FilePathUtil.java    #文件路徑相關的工具類
            │  FileUtil.java        #文件相關的工具類
            │  PrintUtil.java       #打印相關的工具類
            │  ProUtil.java         #屬性文件相關的工具類
            │  RandomUtil.java      #隨機操作的相關的工具類
            │  RegUtil.java         #正則相關的工具類
            │  SecUtil.java         #安全相關的工具類
            │  StreamUtil.java      #Stream相關的工具類
            │  StringUtil.java      #字符串相關的工具類
            │  SysUtil.java         #系統相關的工具類
            │  ValidUtil.java       #字符串相關的工具類
            │  WebUtil.java         #Web相關的工具類
            │  ZIPUtil.java         #zip相關的工具類
            ├─algorithmImpl#一些算法的實現細節
            │      cpDetector.java
            │      FileEncodingUtil.java
            │      FileImpl.java
            │      FileReadImpl.java
            │      FileTypeImpl.java
            │      StringImpl.java
            └─FTP#FTP相關操作的封裝
                    FileAttr.java
                    FTPConstant.java
                    FTPFactory.java
                    FTPLog.java
                    FTPtest.java
                    FTPUtil.java
                    FTPUtilImpl.java
                    FTPVo.java
                    FunctionSet.java
                    
#APIDOC
#CharsetUtil字符串相關的工具類

##常量字段
    static java.lang.String    GBK             中文超大字符集
    static java.lang.String    ISO_8859_1      ISO 拉丁字母表 No.1,也叫作 ISO-LATIN-1
    static java.lang.String    US_ASCII        7ASCII字符,也叫作ISO646-USUnicode字符集的基本拉丁塊
    static java.lang.String    UTF_16          16  UCS 轉換格式,字節順序由可選的字節順序標記來標識
    static java.lang.String    UTF_16BE        16  UCS 轉換格式,Big Endian(最低地址存放高位字節)字節順序
    static java.lang.String    UTF_16LE        16  UCS 轉換格式,Little-endian(最高地址存放低位字節)字節順序
    static java.lang.String    UTF_8           8  UCS 轉換格式

##常量方法
    static java.lang.String    changeCharset(java.lang.String str, java.lang.String newCharset)
    字符串編碼轉換的實現方法
    static java.lang.String    changeCharset(java.lang.String str, java.lang.String oldCharset, java.lang.String newCharset)
    字符串編碼轉換的實現方法
    static java.lang.String    toASCII(java.lang.String str)
    將字符編碼轉換成US-ASCII
    static java.lang.String    toGBK(java.lang.String str)
    將字符編碼轉換成GBK
    static java.lang.String    toISO_8859_1(java.lang.String str)
    將字符編碼轉換成ISO-8859-1
    static java.lang.String    toUTF_16(java.lang.String str)
    將字符編碼轉換成UTF-16
    static java.lang.String    toUTF_16BE(java.lang.String str)
    將字符編碼轉換成UTF-16BE
    static java.lang.String    toUTF_16LE(java.lang.String str)
    將字符編碼轉換成UTF-16LE
    static java.lang.String    toUTF_8(java.lang.String str)
    將字符編碼轉換成UTF-8

#ClassUtil-Class與反射相關的一些工具類

##常量方法
    static java.util.List<java.lang.String>    getClassName(java.lang.String packageName, boolean childPackage)
    static java.lang.String[]  getField(java.lang.String className)
    獲取指定類的全部屬性字段
    static java.lang.String[]  getMethod(java.lang.String className)
    獲取對象的全部方法
    static void    getter(java.lang.Object obj, java.lang.String att)
    調用對象的getter方法
    static java.lang.String    initStr(java.lang.String old)
    java.lang.Class    loadClass(java.lang.String className)
    加載指定的類
    static <T> T   propertiesCopy(java.lang.Object obj, java.lang.Class<T> type)
    同名屬性值複製 將對象obj內屬性名同類型T內容有同名屬性的值複製到類型T中,並返回一個類型T的對象
    static <T> T   propertiesCopyIgnore(java.lang.Object obj, java.lang.Class<T> type)
    同名屬性值複製(忽略大小寫) 將對象obj內屬性名同類型T內容有同名屬性的值複製到類型T中,並返回一個類型T的對象
    static <T> T   propertiesCopyIgnoreFilter(java.lang.Object obj, java.lang.Class<T> type, java.lang.String IgnoreStr)
    同名屬性值複製(比較時忽略字符IgnoreStr的內容) 將對象obj內屬性名同類型T內容有同名屬性的值複製到類型T中,並返回一個類型T的對象
    static void    setter(java.lang.Object obj, java.lang.String att, java.lang.Object value, java.lang.Class<?> type)
    調用對象的setter方法
#ChinesUtil中文相關的工具類

##常量方法
    static java.lang.String    getFirstSpell(java.lang.String chinese)
    獲取漢字串拼音首字母,英文字符不變
    static java.lang.String    getFullSpell(java.lang.String chinese)
    獲取漢字串拼音,英文字符不變
    static java.lang.String    getPingYin(java.lang.String inputString)
    將字符串中的中文轉化爲拼音,其他字符不變
    static boolean isChinese(java.lang.String strName)
    static boolean isChineseByName(java.lang.String str)
    static boolean isChineseByREG(java.lang.String str)
    static void    main(java.lang.String[] args)
#ConvertUtil轉換相關的工具類

##常量方法
    static int bytesToInt(byte[] bytes)
    static long    byteToLong(byte[] b)
    static short   byteToShort(byte[] b)
    static byte[]  intToByte(int i)
    static byte[]  longToByte(long number)
    static byte[]  shortToByte(short number)
#DateUtil日期時間相關的工具類
##常量方法
    static java.util.Date  calculate(java.util.Date date, int second, java.lang.String timeBurst)
    時間Date在時間段(例如每天的08:00-18:00)上增加或減去second
    static java.util.Date  calculate(java.lang.String date, int second, java.lang.String timeBurst)
    時間Date在時間段(例如每天的08:00-18:00)上增加或減去second
    static java.lang.String    Date()
    獲取當前的日期
    static java.lang.String    Date(java.util.Date date)
    將指定的時間格式化成出返回
    static java.util.Date  Date(java.lang.String dateStr)
    將指定的字符串解析爲時間類型
    static java.lang.String    DateTime()
    獲取當前日期時間
    static java.lang.String    DateTime(java.util.Date date)
    將指定的時間格式化成出返回
    static java.util.Date  DateTime(java.lang.String datestr)
    將指定的字符串解析爲時間類型
    static java.util.Date  day(java.util.Date date, int day)
    在指定的時間上加或減去幾天
    static java.util.Date  day(int day)
    在當前時間的基礎上加或減去幾天
    static java.util.Date  hour(java.util.Date date, float hour)
    在制定的時間上加或減去幾小時-支持浮點數
    static java.util.Date  hour(float hour)
    在當前時間的基礎上加或減去幾小時-支持浮點數
    static boolean isDate(java.lang.String date)
    判斷字符串是否爲日期字符串
    static java.util.Date  Minute(java.util.Date date, int minute)
    在制定的時間上加或減去幾分鐘
    static java.util.Date  Minute(int minute)
    在當前時間的基礎上加或減去幾分鐘
    static java.util.Date  month(java.util.Date date, int month)
    在指定的時間上加或減去幾月
    static java.util.Date  month(int month)
    在當前時間的基礎上加或減去幾月
    static int subDay(java.util.Date startTime, java.util.Date endTime)
    獲取倆個時間之前的相隔的天數
    static int subDay(java.lang.String startTime, java.lang.String endTime)
    獲取倆個時間之前的相隔的天數
    static long    subtimeBurst(java.util.Date startDate, java.util.Date endDate, java.lang.String timeBurst)
    返回倆個時間在時間段(例如每天的08:00-18:00)的時長-單位秒
    static long    subtimeBurst(java.lang.String startDate, java.lang.String endDate, java.lang.String timeBurst)
    返回倆個時間在時間段(例如每天的08:00-18:00)的時長-單位秒
    static long    Subtract(java.util.Date date1, java.util.Date date2)
    時間date1date2的時間差-單位秒
    static long    Subtract(java.lang.String date1, java.lang.String date2)
    時間date1date2的時間差-單位秒
    static java.lang.String    SubtractDate(java.lang.String date1, java.lang.String date2)
    獲取倆個時間的查結果用時秒錶示
    static int SubtractDay(java.util.Date date1, java.util.Date date2)
    時間date1date2的時間差-單位天
    static int SubtractDay(java.lang.String date1, java.lang.String date2)
    時間date1date2的時間差-單位天
    static int SubtractHour(java.util.Date date1, java.util.Date date2)
    時間date1date2的時間差-單位小時
    static int SubtractHour(java.lang.String date1, java.lang.String date2)
    時間date1date2的時間差-單位小時
    static int SubtractMinute(java.util.Date date1, java.util.Date date2)
    時間date1date2的時間差-單位分鐘
    static int SubtractMinute(java.lang.String date1, java.lang.String date2)
    時間date1date2的時間差 -單位分鐘
    static int SubtractMonth(java.util.Date date1, java.util.Date date2)
    時間date1date2的時間差-單位月
    static int SubtractMonth(java.lang.String date1, java.lang.String date2)
    時間date1date2的時間差-單位月
    static java.lang.String    SubtractTime(java.lang.String date1, java.lang.String date2)
    獲取倆個時間的查結果用時秒錶示
    static int SubtractYear(java.util.Date date1, java.util.Date date2)
    時間date1date2的時間差-單位年
    static int SubtractYear(java.lang.String date1, java.lang.String date2)
    時間date1date2的時間差-單位年
    static java.lang.String    Time()
    獲取當前的時間
    static java.lang.String    Time(java.util.Date date)
    講指定的時間格式化成出返回
    static java.util.Date  Time(java.lang.String dateStr)
    將指定的字符串解析爲時間類型
    static java.util.Date  year(java.util.Date date, int year)
    在指定的時間上加或減去幾年
    static java.util.Date  year(int year)
    在當前時間的基礎上加或減去year#EmailUtilEmail相關的工具類

##常量方法
    void   doSendHtmlEmail(java.lang.String subject, java.lang.String sendHtml, java.lang.String receiveUser)
    發送郵件
    void   doSendHtmlEmail(java.lang.String subject, java.lang.String sendHtml, java.lang.String receiveUser, java.io.File attachment)
    發送郵件

#FilePathUtil文件路徑相關的工具類

##常量方法
    static java.lang.String    commandPath(java.lang.String file)
    返回一個通用的文件路徑
    static java.lang.String    getParentPath(java.lang.String file)
    返回相一個目錄的對於本身的相對父目錄

#FileUtil文件相關的工具類
##常量方法
    static boolean appendLine(java.io.File file, java.lang.String str)
    在文件末尾追加一行
    static boolean cleanFile(java.io.File file)
    快速清空一個超大的文件
    static boolean copy(java.io.File file, java.lang.String targetFile)
    複製文件 通過該方式複製文件文件越大速度越是明顯
    static boolean copy(java.lang.String resourcePath, java.lang.String targetPath)
    複製文件
    static void    copyDir(java.io.File filePath, java.lang.String targetPath)
    複製目錄
    static void    copyDir(java.lang.String filePath, java.lang.String targetPath)
    複製目錄
    static int countLines(java.io.File file)
    獲取文件的行數
    static java.lang.String    cpdetector(java.io.File file)
    獲取文件的編碼(cpDetector)探測
    static boolean createFiles(java.lang.String filePaht)
    創建文件支持多級目錄
    static void    createPaths(java.lang.String paths)
    創建多級目錄
    static boolean deleteBigFile(java.io.File file)
    快速的刪除超大的文件
    static boolean deleteDir(java.io.File file)
    刪除一個目錄
    static boolean deleteFile(java.io.File file)
    刪除一個文件
    static java.lang.String    FileType(java.io.File file)
    獲取文件的類型
    static java.lang.String    hash(java.io.File file)
    獲取文件的Hash
    static java.util.List<java.lang.String>    Lines(java.io.File file)
    以列表的方式獲取文件的所有行
    static java.util.List<java.lang.String>    Lines(java.io.File file, int lines)
    以列表的方式獲取文件的指定的行數數據
    static java.util.List<java.io.File>    listFile(java.io.File path)
    羅列指定路徑下的全部文件
    static java.util.List<java.io.File>    listFile(java.lang.String path)
    羅列指定路徑下的全部文件
    static java.util.List<java.io.File>    listFileAll(java.io.File path)
    羅列指定路徑下的全部文件包括文件夾
    static java.util.List<java.io.File>    listFileFilter(java.io.File dirPath, java.lang.String postfixs)
    獲取指定目錄下的特點文件,通過後綴名過濾
    static java.lang.String    MimeType(java.lang.String file)
    獲取文件的Mime類型
    static java.util.Date  modifyTime(java.io.File file)
    獲取文件最後的修改時間
    static java.util.List<java.io.File>    searchFile(java.io.File dirPath, java.lang.String fileName)
    在指定的目錄下搜尋文個文件
    static java.util.List<java.io.File>    searchFileReg(java.io.File dirPath, java.lang.String reg)
    查找符合正則表達式reg的的文件
    static java.lang.String    SimpleEncoding(java.lang.String file)
    利用簡單的文件頭字節特徵探測文件編碼
#PrintUtil打印相關的工具類
##常量方法
    static void    print(java.util.Enumeration enums)
    遍歷打印Enumeration
    static void    print(java.util.List<?> list)
    遍歷打印遍歷List集合
    static void    print(java.util.Map map)
    遍歷打印Map集合
    static void    print(java.lang.String str)
    static void    println(java.lang.Object obj)
    static void    println(java.lang.String str)

#ProUtil屬性文件相關的工具類
##常量方法
    static java.lang.String    GetAllProperties(java.lang.String filePath)
    讀取Properties的全部信息
    static java.lang.String    GetValueByKey(java.lang.String filePath, java.lang.String key)
    根據Key讀取Value
    static java.lang.String    key(java.lang.String key)
    static void    WriteProperties(java.lang.String filePath, java.lang.String pKey, java.lang.String pValue)
    寫入Properties信息
#RandomUtil隨機操作的相關的工具類
##常量方法
    static int getNotSimple(int[] param, int len)
    每次生成的len位數都不相同
    static java.lang.String    LowerString(int length)
    返回一個定長的隨機純大寫字母字符串(只包含大小寫字母)
    static java.lang.String    MixString(int length)
    返回一個定長的隨機純字母字符串(只包含大小寫字母)
    static java.lang.String    number(int length)
    static java.lang.String    String(int length)
    返回一個定長的隨機字符串(只包含大小寫字母、數字)
    static java.lang.String    toFixdLengthString(int num, int fixdlenth)
    根據數字生成一個定長的字符串,長度不夠前面補0
    static java.lang.String    toFixdLengthString(long num, int fixdlenth)
    根據數字生成一個定長的字符串,長度不夠前面補0
    static java.lang.String    UpperString(int length)
    返回一個定長的隨機純小寫字母字符串(只包含大小寫字母)
    static java.lang.String    ZeroString(int length)
    生成一個定長的純0字符串
#RegUtil正則相關的工具類
##常量方法
    static boolean isMatche(java.lang.String str, java.lang.String reg)
    判斷字符串str是否符合正則表達式reg
#SecUtil安全相關的工具類
##常量方法
    static java.lang.String    FileMD5(java.io.File file)
    static java.lang.String    md5(java.lang.String password)
#StreamUtil-Stream相關的工具類
##常量方法
    static java.io.InputStream byte2InputStream(byte[] b)
    static byte[]  inputStream2Byte(java.io.InputStream inStream)
    static byte[]  stream2Byte(java.io.InputStream is)
    void   streamSaveAsFile(java.io.InputStream is, java.io.File outfile)
    將流另存爲文件
    static java.lang.String    streamToString(java.io.InputStream in)
    Read an input stream into a string
#StringUtil字符串相關的工具類
##常量方法
    static int ChineseLength(java.lang.String str)
    獲取一個字符串中中文字符的個數
    static int countSubStr(java.lang.String string, java.lang.String str)
    獲取字符串strString中出現的次數
    static int countSubStrReg(java.lang.String string, java.lang.String reg)
    獲取符合reg正則表達式的字符串在String中出現的此時
    java.lang.String   cpDetector(java.lang.String str)
    獲取字符串的編碼
    static java.lang.String    formatFloat(float f, java.lang.String format)
    格式化一個float
    static java.lang.String    full2Half(java.lang.String str)
    全角字符變半角字符
    static java.lang.String    GBToUnicode(java.lang.String input)
    GBK轉換成Unicode字符集
    static java.lang.String    getHideEmailPrefix(java.lang.String email)
    隱藏郵件地址前綴。
    static java.lang.String    getLimitLengthString(java.lang.String str, int len, java.lang.String symbol)
    截取字符串 超出的字符用symbol代替
    static int getStringLen(java.lang.String SrcStr)
    取得字符串的實際長度(考慮了漢字的情況)
    static java.lang.String    html(java.lang.String content)
    HTML標籤轉義方法 —— java代碼庫
    static boolean isABC(java.lang.String src)
    判斷是否純字母組合
    static boolean isChinese(char c)
    判斷是否是中文
    static boolean isChinese(java.lang.String strName)
    完整的判斷中文漢字和符號
    static boolean isEmail(java.lang.String email)
    static boolean isEmpty(java.lang.String s)
    判斷是否是空字符串 null"" 都返回 true
    static boolean isFloatNumeric(java.lang.String src)
    判斷是否浮點數字表示
    static boolean isIn(java.lang.String substring, java.lang.String[] source)
    判斷字符串數組中是否包含某字符串元素
    static boolean isInteger(java.lang.String str)
    static boolean isMessyCode(java.lang.String strName)
    判斷是否是亂碼
    static boolean isNumeric(java.lang.String src)
    判斷是否數字表示
    static boolean isNumericString(java.lang.String src)
    判斷是否數字表示
    static java.lang.String    joinString(java.util.List array, java.lang.String symbol)
    string array or list用給定的符號symbol連接成一個字符串
    static java.lang.String    joinString(java.lang.String[] array, java.lang.String symbol)
    string array or list用給定的符號symbol連接成一個字符串
    static java.lang.String    left(java.lang.String input, int count)
    截取字符串左側指定長度的字符串
    static java.lang.String    listToStringSlipStr(java.util.List list, java.lang.String slipStr)
    list 用傳入的分隔符組裝爲String
    static java.lang.String    middle(java.lang.String input, int index, int count)
    從指定位置開始截取指定長度的字符串
    static java.util.Map<java.lang.String,java.lang.String>    parseQuery(java.lang.String query, char split1, char split2, java.lang.String dupLink)
    解析字符串返回map鍵值對(例:a=1&b=2 => a=1,b=2)
    static java.util.List<java.lang.String>    parseString2ListByCustomerPattern(java.lang.String pattern, java.lang.String src)
    根據指定的字符把源字符串分割成一個數組
    static java.lang.String    repeat(java.lang.String src, int num)
    repeat - 通過源字符串重複生成N次組成新的字符串。
    static java.lang.String    replaceAll(java.lang.String s, java.lang.String sf, java.lang.String sb)
    存文本替換
    static java.lang.String    replaceBlank(java.lang.String str)
    頁面中去除字符串中的空格、回車、換行符、製表符
    static java.lang.String    replaceBracketStr(java.lang.String str)
    全角括號轉爲半角
    static boolean requals(java.lang.String str1, java.lang.String str2)
    static java.lang.String    right(java.lang.String input, int count)
    截取字符串右側指定長度的字符串
    static double  SimilarDegree(java.lang.String str1, java.lang.String str2)
    字符串相似度比較(速度較快)
    static double  SimilarityRatio(java.lang.String str1, java.lang.String str2)
    字符串相似度比較(速度較快)
    java.lang.String   SimpleEncoding(java.lang.String str)
    獲取字符串的編碼
    static java.lang.String    string2Unicode(java.lang.String string)
    static java.lang.String    subStringNotEncode(java.lang.String subject, int size)
    講字符串截取到指定長度size+...的形式
    static java.lang.String    subStrNotEncode(java.lang.String subject, int size)
    截取字符,不轉碼
    static java.lang.String    trimPunct(java.lang.String str)
    刪除所有的標點符號
    static java.lang.String    unicode2String(java.lang.String unicode)
    static java.lang.String    UnicodeToGB(java.lang.String input)
    Unicode轉換成GBK字符集
#SysUtil系統相關的工具類
##常量字段
    static java.lang.String    STR_HOSTNAME
    static java.lang.String    STR_IP
#ValidUtil字符串相關的工具類
##常量方法
    static boolean isValid(java.util.Collection col)
    判斷集合的有效性
    static boolean isValid(java.lang.Object obj)
    判斷一個對象是否爲空
    static boolean isValid(java.lang.Object[] arr)
    判斷數組是否有效
    static boolean isValid(java.lang.String src)
    判斷字符串有效性
#WebUtilWeb相關的工具類
##常量方法
    static java.lang.String    escape(java.lang.String src)
    static java.lang.String    getParamValue(java.lang.String url, java.lang.String paramName)
    static void    main(java.lang.String[] args)
    static void    print(javax.servlet.http.HttpServletRequest request)
    static java.lang.String    removeParam(java.lang.String url, java.lang.String... paramNames)
    static java.lang.String    removeParam(java.lang.String url, java.lang.String paramName)
    static java.lang.String    setParam(java.lang.String url, java.lang.String paramName, java.lang.String paramValue)
    static java.lang.String    unescape(java.lang.String src)
    static java.lang.String    urlJoin(java.net.URL url, java.lang.String locationHeader)
#ZIPUtil-zip相關的工具類
##常量方法
    static void    deCompress(java.io.File file, java.lang.String dest)
    文檔壓縮
    static void    unCompress(java.io.File source, java.lang.String path)
    文檔解壓
    static void    zipFile(java.io.File inFile, java.util.zip.ZipOutputStream zos, java.lang.String dir)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章