亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java中常用工具類之字符串操作類和MD5加密解密類

2019-11-26 15:28:47
字體:
來源:轉載
供稿:網友

java中常用的工具類之String和MD5加密解密類

我們java程序員在開發項目的是常常會用到一些工具類。今天我分享一下我的兩個工具類,大家可以在項目中使用。

一、String工具類

package com.itjh.javaUtil;import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;/** * 文件相關操作輔助類。 *  * @author 宋立君 * @date 2014年06月24日 */public class FileUtil {	private static final String FOLDER_SEPARATOR = "/";	private static final char EXTENSION_SEPARATOR = '.';	/**	 * 功能:復制文件或者文件夾。	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param inputFile	 *      源文件	 * @param outputFile	 *      目的文件	 * @param isOverWrite	 *      是否覆蓋(只針對文件)	 * @throws IOException	 */	public static void copy(File inputFile, File outputFile, boolean isOverWrite)			throws IOException {		if (!inputFile.exists()) {			throw new RuntimeException(inputFile.getPath() + "源目錄不存在!");		}		copyPri(inputFile, outputFile, isOverWrite);	}	/**	 * 功能:為copy 做遞歸使用。	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param inputFile	 * @param outputFile	 * @param isOverWrite	 * @throws IOException	 */	private static void copyPri(File inputFile, File outputFile,			boolean isOverWrite) throws IOException {		// 是個文件。		if (inputFile.isFile()) {			copySimpleFile(inputFile, outputFile, isOverWrite);		} else {			// 文件夾			if (!outputFile.exists()) {				outputFile.mkdir();			}			// 循環子文件夾			for (File child : inputFile.listFiles()) {				copy(child,						new File(outputFile.getPath() + "/" + child.getName()),						isOverWrite);			}		}	}	/**	 * 功能:copy單個文件	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param inputFile	 *      源文件	 * @param outputFile	 *      目標文件	 * @param isOverWrite	 *      是否允許覆蓋	 * @throws IOException	 */	private static void copySimpleFile(File inputFile, File outputFile,			boolean isOverWrite) throws IOException {		// 目標文件已經存在		if (outputFile.exists()) {			if (isOverWrite) {				if (!outputFile.delete()) {					throw new RuntimeException(outputFile.getPath() + "無法覆蓋!");				}			} else {				// 不允許覆蓋				return;			}		}		InputStream in = new FileInputStream(inputFile);		OutputStream out = new FileOutputStream(outputFile);		byte[] buffer = new byte[1024];		int read = 0;		while ((read = in.read(buffer)) != -1) {			out.write(buffer, 0, read);		}		in.close();		out.close();	}	/**	 * 功能:刪除文件	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param file	 *      文件	 */	public static void delete(File file) {		deleteFile(file);	}	/**	 * 功能:刪除文件,內部遞歸使用	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param file	 *      文件	 * @return boolean true 刪除成功,false 刪除失敗。	 */	private static void deleteFile(File file) {		if (file == null || !file.exists()) {			return;		}		// 單文件		if (!file.isDirectory()) {			boolean delFlag = file.delete();			if (!delFlag) {				throw new RuntimeException(file.getPath() + "刪除失??!");			} else {				return;			}		}		// 刪除子目錄		for (File child : file.listFiles()) {			deleteFile(child);		}		// 刪除自己		file.delete();	}	/**	 * 從文件路徑中抽取文件的擴展名, 例如. "mypath/myfile.txt" -> "txt". * @author 宋立君	 * 	 * @date 2014年06月24日	 * @param 文件路徑	 * @return 如果path為null,直接返回null。	 */	public static String getFilenameExtension(String path) {		if (path == null) {			return null;		}		int extIndex = path.lastIndexOf(EXTENSION_SEPARATOR);		if (extIndex == -1) {			return null;		}		int folderIndex = path.lastIndexOf(FOLDER_SEPARATOR);		if (folderIndex > extIndex) {			return null;		}		return path.substring(extIndex + 1);	}	/**	 * 從文件路徑中抽取文件名, 例如: "mypath/myfile.txt" -> "myfile.txt"。 * @author 宋立君	 * 	 * @date 2014年06月24日	 * @param path	 *      文件路徑。	 * @return 抽取出來的文件名, 如果path為null,直接返回null。	 */	public static String getFilename(String path) {		if (path == null) {			return null;		}		int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR);		return (separatorIndex != -1 ? path.substring(separatorIndex + 1)				: path);	}	/**	 * 功能:保存文件。	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param content	 *      字節	 * @param file	 *      保存到的文件	 * @throws IOException	 */	public static void save(byte[] content, File file) throws IOException {		if (file == null) {			throw new RuntimeException("保存文件不能為空");		}		if (content == null) {			throw new RuntimeException("文件流不能為空");		}		InputStream is = new ByteArrayInputStream(content);		save(is, file);	}	/**	 * 功能:保存文件	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param streamIn	 *      文件流	 * @param file	 *      保存到的文件	 * @throws IOException	 */	public static void save(InputStream streamIn, File file) throws IOException {		if (file == null) {			throw new RuntimeException("保存文件不能為空");		}		if (streamIn == null) {			throw new RuntimeException("文件流不能為空");		}		// 輸出流		OutputStream streamOut = null;		// 文件夾不存在就創建。		if (!file.getParentFile().exists()) {			file.getParentFile().mkdirs();		}		streamOut = new FileOutputStream(file);		int bytesRead = 0;		byte[] buffer = new byte[8192];		while ((bytesRead = streamIn.read(buffer, 0, 8192)) != -1) {			streamOut.write(buffer, 0, bytesRead);		}		streamOut.close();		streamIn.close();	}}

二、MD5工具類

package com.itjh.javaUtil;import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;/** * 文件相關操作輔助類。 *  * @author 宋立君 * @date 2014年06月24日 */public class FileUtil {	private static final String FOLDER_SEPARATOR = "/";	private static final char EXTENSION_SEPARATOR = '.';	/**	 * 功能:復制文件或者文件夾。	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param inputFile	 *      源文件	 * @param outputFile	 *      目的文件	 * @param isOverWrite	 *      是否覆蓋(只針對文件)	 * @throws IOException	 */	public static void copy(File inputFile, File outputFile, boolean isOverWrite)			throws IOException {		if (!inputFile.exists()) {			throw new RuntimeException(inputFile.getPath() + "源目錄不存在!");		}		copyPri(inputFile, outputFile, isOverWrite);	}	/**	 * 功能:為copy 做遞歸使用。	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param inputFile	 * @param outputFile	 * @param isOverWrite	 * @throws IOException	 */	private static void copyPri(File inputFile, File outputFile,			boolean isOverWrite) throws IOException {		// 是個文件。		if (inputFile.isFile()) {			copySimpleFile(inputFile, outputFile, isOverWrite);		} else {			// 文件夾			if (!outputFile.exists()) {				outputFile.mkdir();			}			// 循環子文件夾			for (File child : inputFile.listFiles()) {				copy(child,						new File(outputFile.getPath() + "/" + child.getName()),						isOverWrite);			}		}	}	/**	 * 功能:copy單個文件	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param inputFile	 *      源文件	 * @param outputFile	 *      目標文件	 * @param isOverWrite	 *      是否允許覆蓋	 * @throws IOException	 */	private static void copySimpleFile(File inputFile, File outputFile,			boolean isOverWrite) throws IOException {		// 目標文件已經存在		if (outputFile.exists()) {			if (isOverWrite) {				if (!outputFile.delete()) {					throw new RuntimeException(outputFile.getPath() + "無法覆蓋!");				}			} else {				// 不允許覆蓋				return;			}		}		InputStream in = new FileInputStream(inputFile);		OutputStream out = new FileOutputStream(outputFile);		byte[] buffer = new byte[1024];		int read = 0;		while ((read = in.read(buffer)) != -1) {			out.write(buffer, 0, read);		}		in.close();		out.close();	}	/**	 * 功能:刪除文件	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param file	 *      文件	 */	public static void delete(File file) {		deleteFile(file);	}	/**	 * 功能:刪除文件,內部遞歸使用	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param file	 *      文件	 * @return boolean true 刪除成功,false 刪除失敗。	 */	private static void deleteFile(File file) {		if (file == null || !file.exists()) {			return;		}		// 單文件		if (!file.isDirectory()) {			boolean delFlag = file.delete();			if (!delFlag) {				throw new RuntimeException(file.getPath() + "刪除失??!");			} else {				return;			}		}		// 刪除子目錄		for (File child : file.listFiles()) {			deleteFile(child);		}		// 刪除自己		file.delete();	}	/**	 * 從文件路徑中抽取文件的擴展名, 例如. "mypath/myfile.txt" -> "txt". * @author 宋立君	 * 	 * @date 2014年06月24日	 * @param 文件路徑	 * @return 如果path為null,直接返回null。	 */	public static String getFilenameExtension(String path) {		if (path == null) {			return null;		}		int extIndex = path.lastIndexOf(EXTENSION_SEPARATOR);		if (extIndex == -1) {			return null;		}		int folderIndex = path.lastIndexOf(FOLDER_SEPARATOR);		if (folderIndex > extIndex) {			return null;		}		return path.substring(extIndex + 1);	}	/**	 * 從文件路徑中抽取文件名, 例如: "mypath/myfile.txt" -> "myfile.txt"。 * @author 宋立君	 * 	 * @date 2014年06月24日	 * @param path	 *      文件路徑。	 * @return 抽取出來的文件名, 如果path為null,直接返回null。	 */	public static String getFilename(String path) {		if (path == null) {			return null;		}		int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR);		return (separatorIndex != -1 ? path.substring(separatorIndex + 1)				: path);	}	/**	 * 功能:保存文件。	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param content	 *      字節	 * @param file	 *      保存到的文件	 * @throws IOException	 */	public static void save(byte[] content, File file) throws IOException {		if (file == null) {			throw new RuntimeException("保存文件不能為空");		}		if (content == null) {			throw new RuntimeException("文件流不能為空");		}		InputStream is = new ByteArrayInputStream(content);		save(is, file);	}	/**	 * 功能:保存文件	 * 	 * @author 宋立君	 * @date 2014年06月24日	 * @param streamIn	 *      文件流	 * @param file	 *      保存到的文件	 * @throws IOException	 */	public static void save(InputStream streamIn, File file) throws IOException {		if (file == null) {			throw new RuntimeException("保存文件不能為空");		}		if (streamIn == null) {			throw new RuntimeException("文件流不能為空");		}		// 輸出流		OutputStream streamOut = null;		// 文件夾不存在就創建。		if (!file.getParentFile().exists()) {			file.getParentFile().mkdirs();		}		streamOut = new FileOutputStream(file);		int bytesRead = 0;		byte[] buffer = new byte[8192];		while ((bytesRead = streamIn.read(buffer, 0, 8192)) != -1) {			streamOut.write(buffer, 0, bytesRead);		}		streamOut.close();		streamIn.close();	}}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品久久久久久久久不口人| 国产精品美女久久| 欧美精品情趣视频| 欧美日韩中文字幕综合视频| 日韩av电影院| 一级做a爰片久久毛片美女图片| 国产欧美日韩免费| 97av在线视频| 亚洲欧美中文字幕| 色噜噜久久综合伊人一本| 久久久在线观看| 97在线看免费观看视频在线观看| 国产综合福利在线| 亚洲黄色在线看| 亚洲男子天堂网| 秋霞成人午夜鲁丝一区二区三区| 欧美另类极品videosbestfree| 中文字幕一区日韩电影| 国产精品白嫩初高中害羞小美女| 一级做a爰片久久毛片美女图片| 91青草视频久久| 国产69精品久久久久久| 国产精品爽爽爽爽爽爽在线观看| 欧美精品福利视频| 成人精品网站在线观看| 激情久久av一区av二区av三区| 亚洲成人网在线观看| 欧美情侣性视频| 日韩中文综合网| 国产精品吹潮在线观看| 精品国产福利视频| 久久久久久久久久久久av| 国产在线精品一区免费香蕉| 欧美xxxx做受欧美| 精品久久久精品| 777国产偷窥盗摄精品视频| 精品呦交小u女在线| 国产精品久久久久久av福利软件| 亚洲香蕉伊综合在人在线视看| 欧美性少妇18aaaa视频| 亚洲国产精品一区二区三区| 亚洲精品v天堂中文字幕| 色婷婷av一区二区三区在线观看| 日韩中文字幕视频| 韩国视频理论视频久久| 成人免费观看网址| www欧美日韩| 欧美激情乱人伦一区| 中文字幕日韩电影| 亚洲男人天堂久| 亚洲free性xxxx护士白浆| 亚洲jizzjizz日本少妇| www.xxxx欧美| 亚州av一区二区| 国产精品视频网| 亚洲影视九九影院在线观看| 97久久精品人人澡人人爽缅北| 国产精品av免费在线观看| 久久成人精品一区二区三区| 国产午夜精品一区二区三区| 性亚洲最疯狂xxxx高清| 日韩国产中文字幕| 91精品国产乱码久久久久久蜜臀| 久久免费视频网| 亚洲美女av电影| 中文字幕久热精品在线视频| 国产日本欧美一区二区三区| 久久亚洲欧美日韩精品专区| 久久不射热爱视频精品| 国产精品女人网站| 欧美激情在线观看视频| 国内精品久久久久久久久| 91精品国产成人| 97久久伊人激情网| 色一情一乱一区二区| 欧美日韩国产丝袜美女| 国产成人亚洲综合青青| 成人在线小视频| 8090理伦午夜在线电影| 久久久久久噜噜噜久久久精品| 日韩高清有码在线| 在线视频一区二区| 狠狠综合久久av一区二区小说| 91理论片午午论夜理片久久| 亚洲美女在线视频| 亚洲成人精品视频在线观看| 夜夜嗨av色综合久久久综合网| 国产精品日韩欧美综合| 国产精品69久久久久| 亚洲九九九在线观看| 中文字幕在线日韩| 中文字幕亚洲自拍| 不卡av在线网站| 欧美小视频在线| 日本最新高清不卡中文字幕| 日韩中文字幕久久| 北条麻妃一区二区在线观看| 97色在线播放视频| 欧美三级欧美成人高清www| 国产精品扒开腿做爽爽爽男男| xx视频.9999.com| 日韩av在线免费观看| 777国产偷窥盗摄精品视频| xvideos亚洲人网站| 国产精品国产亚洲伊人久久| 久久亚洲精品小早川怜子66| 一本大道香蕉久在线播放29| 亚洲一区二区三区xxx视频| 亚洲网站在线播放| 欧美日韩成人黄色| 黄色精品一区二区| 国产噜噜噜噜噜久久久久久久久| 精品视频久久久久久久| 亚洲自拍小视频免费观看| 日本精品久久久久影院| 亚洲成年人影院在线| 亚洲精品不卡在线| 91精品国产自产在线老师啪| 在线免费观看羞羞视频一区二区| 2019日本中文字幕| 国产精品福利久久久| 国产精品国产三级国产专播精品人| 欧美精品激情blacked18| 国产精品7m视频| 国产精品精品视频一区二区三区| 久久精品国产欧美激情| 欧美日韩美女在线观看| 久久久黄色av| 亚洲天堂久久av| 91在线网站视频| 日韩激情第一页| 91精品国产高清自在线| 国产精品老女人精品视频| 国产亚洲精品综合一区91| 久久影视电视剧免费网站| 大胆欧美人体视频| 中文字幕欧美日韩va免费视频| 久久久综合av| 国产一区二区三区视频在线观看| 在线色欧美三级视频| 81精品国产乱码久久久久久| 欧美另类69精品久久久久9999| 亚洲国产精品久久| 国产精品美女久久久久av超清| 日韩高清电影免费观看完整| 欧美噜噜久久久xxx| 国产一区二区视频在线观看| 欧美成人久久久| 97在线免费观看视频| 97在线免费观看视频| 91免费版网站入口| 亚洲一区二区中文字幕| 久久精品国产亚洲精品2020| 亚洲有声小说3d| 欧美日韩国内自拍| 国产成人亚洲综合91| 亚洲视频综合网| 欧美疯狂做受xxxx高潮| 成人激情综合网| 亚洲欧美日韩区| 欧美裸体xxxx极品少妇软件| 正在播放欧美一区| 日韩精品免费在线视频观看| 久久成人国产精品|