package com.byd.core;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Random;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class MyUtils {
public static void main(String[] s) {
List conditions = new ArrayList();
MyUtils.addToCollection(conditions, MyUtils.split("a,b-c d,e f-g",
" ,-"));
System.out.println(conditions);// output[a, b, c, d, e, f, g]
}
/**
*
*
* @param filePathAndName
* String �ļ�·������� ��c:/fqf.txt
* @param fileContent
* String
* @return boolean
*/
public static boolean delFile(String filePathAndName) {
File myDelFile = new java.io.File(filePathAndName);
if (!myDelFile.exists()) {
return true;
}
return myDelFile.delete();
}
public static boolean delAllFile(String filepath) {
File file = new java.io.File(filepath);
if (!file.exists()) {
return true;
}
if (!file.isDirectory()) {
return true;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (filepath.endsWith(File.separator)) {
temp = new File(filepath + tempList[i]);
} else {
temp = new File(filepath + File.separator + tempList[i]);
}
if (temp.isFile() && temp.canWrite())
temp.delete();
}
return true;
}
/**
* �ϴ��ļ�
*
* @param uploadFileName
* ���ϴ����ļ����
* @param savePath
* �ļ��ı���·��
* @param uploadFile
* ���ϴ����ļ�
* @return newFileName
*/
public static String upload(String uploadFileName, String savePath,
File uploadFile) {
String newFileName = getRandomName(uploadFileName, savePath);
try {
FileOutputStream fos = new FileOutputStream(savePath + newFileName);
FileInputStream fis = new FileInputStream(uploadFile);
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return newFileName;
}
/**
* ���·������һϵ�е�Ŀ¼
*
* @param path
*/
public static void mkDirectory(String path) {
File file;
try {
file = new File(path);
if (!file.exists()) {
file.mkdirs();
}
} catch (RuntimeException e) {
e.printStackTrace();
} finally {
file = null;
}
}
/**
* �����������ÿһ��Ԫ�طֱ���ӵ�ָ��������,����Apache commons collections �еķ���
*
* @param collection
* �϶���
* @param arr
* ��������
*/
public static void addToCollection(Collection collection, Object[] arr) {
if (null != collection && null != arr) {
CollectionUtils.addAll(collection, arr);
}
}
/**
* ���
*
* <pre>
* Example:
* String[] arr = StringUtils.split("a b,c d,e-f", " ,-");
* System.out.println(arr.length);//���6
* </pre>
*
* @param str ַ�
* @param separatorChars
* �ָ���ַ�
* @return �ַ�����
*/
public static String[] split(String str, String separatorChars) {
return StringUtils.split(str, separatorChars);
}
/**
* ����ָ���ֶε�setter����
*
* <pre>
* Example:
* User user = new User();
* MyUtils.invokeSetMethod("userName", user, new Object[] {"����"});
* </pre>
*
* @param fieldName
* �ֶ�(����)���
* @param invokeObj
* �����÷����Ķ���
* @param args
* �����÷����IJ�������
* @return �ɹ����
*/
public static boolean invokeSetMethod(String fieldName, Object invokeObj,
Object[] args) {
boolean flag = false;
Field[] fields = invokeObj.getClass().getDeclaredFields(); // ��ö���ʵ���������ж�����ֶ�
Method[] methods = invokeObj.getClass().getDeclaredMethods(); // ��ö���ʵ���������ж���ķ���
for (Field f : fields) {
String fname = f.getName();
if (fname.equals(fieldName)) {// ֶ���
String mname = "set"
+ (fname.substring(0, 1).toUpperCase() + fname
.substring(1));//
for (Method m : methods) {
String name = m.getName();
if (mname.equals(name)) {
// ����Integer����
if (f.getType().getSimpleName().equalsIgnoreCase(
"integer")
&& args.length > 0) {
args[0] = Integer.valueOf(args[0].toString());
}
// ����Boolean����
if (f.getType().getSimpleName().equalsIgnoreCase(
"boolean")
&& args.length > 0) {
args[0] = Boolean.valueOf(args[0].toString());
}
try {
m.invoke(invokeObj, args);
flag = true;
} catch (IllegalArgumentException e) {
flag = false;
e.printStackTrace();
} catch (IllegalAccessException e) {
flag = false;
e.printStackTrace();
} catch (InvocationTargetException e) {
flag = false;
e.printStackTrace();
}
}
}
}
}
return flag;
}
/**
* �ж��ļ��Ƿ����
*
* @param fileName
* @param dir
* @return
*/
public static boolean isFileExist(String fileName, String dir) {
File files = new File(dir + fileName);
return (files.exists()) ? true : false;
}
/**
* �������ļ���,��֤��ͬһ���ļ����²�ͬ��
*
* @param fileName
* @param dir
* @return
*/
public static String getRandomName(String fileName, String dir) {
String[] split = fileName.split("\\.");// ���ļ�����.����ʽ���
String extendFile = "." + split[split.length - 1].toLowerCase(); // ���ļ�����Ч��
Random random = new Random();
int add = random.nextInt(1000000); // ���������10000����
String ret = add + extendFile;
while (isFileExist(ret, dir)) {
add = random.nextInt(1000000);
ret = fileName + add + extendFile;
}
return ret;
}
/**
* ��������ͼ
*
* @param file
* �ϴ����ļ���
* @param height
* ��С�ijߴ�
* @throws IOException
*/
public static void createMiniPic(File file, float width, float height)
throws IOException {
Image src = javax.imageio.ImageIO.read(file); // ����Image����
int old_w = src.getWidth(null); // �õ�Դͼ��
int old_h = src.getHeight(null);
int new_w = 0;
int new_h = 0; // �õ�Դͼ��
float tempdouble;
if (old_w >= old_h) {
tempdouble = old_w / width;
} else {
tempdouble = old_h / height;
}
if (old_w >= width || old_h >= height) { // ����ļ�С������ͼ�ijߴ����Ƽ���
new_w = Math.round(old_w / tempdouble);
new_h = Math.round(old_h / tempdouble);// ������ͼ����
while (new_w > width && new_h > height) {
if (new_w > width) {
tempdouble = new_w / width;
new_w = Math.round(new_w / tempdouble);
new_h = Math.round(new_h / tempdouble);
}
if (new_h > height) {
tempdouble = new_h / height;
new_w = Math.round(new_w / tempdouble);
new_h = Math.round(new_h / tempdouble);
}
}
BufferedImage tag = new BufferedImage(new_w, new_h,
BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(src, 0, 0, new_w, new_h, null); // ������С���ͼ
FileOutputStream newimage = new FileOutputStream(file); // ����ļ���
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(tag);
param.setQuality((float) (100 / 100.0), true);// ����ͼ
encoder.encode(tag, param);
encoder.encode(tag); // ��JPEG����
newimage.close();
}
}
/**
* �ж��ļ������Ƿ��ǺϷ���,�����ж�allowTypes���Ƿ��contentType
*
* @param contentType
* �ļ�����
* @param allowTypes
* �ļ������б�
* @return �Ƿ�Ϸ�
*/
public static boolean isValid(String contentType, String[] allowTypes) {
if (null == contentType || "".equals(contentType)) {
return false;
}
for (String type : allowTypes) {
if (contentType.equals(type)) {
return true;
}
}
return false;
}
}
分享到:
相关推荐
java sql操作工具类 java sql操作工具类java sql操作工具类 java sql操作工具类java sql操作工具类 java sql操作工具类java sql操作工具类 java sql操作工具类java sql操作工具类 java sql操作工具类java sql操作...
java 获取地址工具类 java 获取地址工具类java 获取地址工具类 java 获取地址工具类java 获取地址工具类 java 获取地址工具类java 获取地址工具类 java 获取地址工具类java 获取地址工具类 java 获取地址工具类java ...
java 转义和反转义工具类 java 转义和反转义工具类java 转义和反转义工具类 java 转义和反转义工具类java 转义和反转义工具类 java 转义和反转义工具类java 转义和反转义工具类 java 转义和反转义工具类java 转义和...
java sql 工具类 java sql 工具类 java sql 工具类java sql 工具类 java sql 工具类 java sql 工具类java sql 工具类 java sql 工具类 java sql 工具类java sql 工具类 java sql 工具类 java sql 工具类java sql ...
在C++编程中,工具类是非常重要的一部分,它们提供了一系列通用功能,可以帮助开发者更高效地进行项目开发。本文将深入探讨标题"**C++工具类-常用工具类源码**"所涵盖的知识点,主要围绕文件处理、编码处理、字符串...
`RabbitmqUtil` 是一个专门为Java开发者设计的工具类,简化了与RabbitMQ交互的复杂过程,使得开发者能够更快速、更方便地发送和接收消息。 首先,我们来详细了解一下`RabbitmqUtil`工具类的主要功能: 1. **连接...
Elasticsearch工具类是开发中常见的一种抽象封装,旨在简化与Elasticsearch数据库的交互,提高代码的可读性和可维护性。Elasticsearch是一种基于Lucene的分布式、RESTful搜索和分析引擎,广泛用于实时大数据分析和...
在C#编程中,工具类库是开发人员经常会用到的一种资源,它们提供了一系列预定义的方法和功能,以便简化各种常见的编程任务。标题中的"C#工具类库类库 包含所有的常用工具类"暗示了这是一个集合,包含了多种实用工具...
在Android应用开发中,工具类(Utils)是程序员经常使用的辅助模块,它们包含了一系列静态方法,用于处理各种常见的任务,从而提高代码的复用性和可维护性。本资源"Android快速开发系列 10个常用工具类 程序源码...
android自定义log日志输出工具,该工具类具有以下优点: 1 在LogUtlis方法的第一个参数中填this可以输出当前类的名称,特别是在匿名内部类使用也可以输出当前类名。 如 : LogUtils.i(this,”这是一个实用的日志...
C# Util中的Json工具类通常提供了序列化和反序列化JSON对象的方法,如将C#对象转换为JSON字符串,或者将JSON字符串解析为C#对象,这在处理API请求或保存配置文件时非常有用。 2. **Net**: 这部分可能包含网络通信...
[工具类] 获得汉字拼音首字母的java工具类 .java [工具类] 获取绝对路径 .java [工具类] 记录log日志文件的工具类 .java [工具类] 连接数据库的工具类 .java [工具类] 使用Java程序来实现HTTP文件的队列下载 ....
小程序源码 小工具类(带后台)小程序源码 小工具类(带后台)小程序源码 小工具类(带后台)小程序源码 小工具类(带后台)小程序源码 小工具类(带后台)小程序源码 小工具类(带后台)小程序源码 小工具类(带...
Class类工具 \Cookie工具类 \excel读取 工具类\Java如何生成验证码图片和点击刷新验证码\java获取当前月第一天和最后一天,上个月第一天和最后一天\java实现ftp文件的上传与下载\Json工具类 - JsonUtils.java\JS...
Java字符串中${}或者{}等占位符替换工具类 Java字符串中${}或者{}等占位符替换工具类是一个功能强大且实用的工具类,它可以将Java字符串中的占位符依次替换为指定的值。该工具类的主要功能是实现占位符的替换,即将...
java Tcp 客户端工具类 java Tcp 客户端工具类java Tcp 客户端工具类 java Tcp 客户端工具类java Tcp 客户端工具类 java Tcp 客户端工具类java Tcp 客户端工具类 java Tcp 客户端工具类java Tcp 客户端工具类 java ...
java Base64工具类 java Base64工具类java Base64工具类 java Base64工具类 java Base64工具类 java Base64工具类java Base64工具类 java Base64工具类 java Base64工具类 java Base64工具类java Base64工具类 java ...
[工具类] CookieCounter .java.txt [工具类] 验证码img .jsp.txt [工具类] Java中计算任意两个日期之间的工作天数 .java.txt [工具类] java抓取网页 .java.txt [工具类] MD5 .java.txt [工具类] MD5强化版 .java.txt...
java连接SqlServer完整代码,工具类,jdbc JDBC工具类的构建 1.资源释放 见https://mp.csdn.net/postedit/86577443 2.驱动防二次注册 ``` Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //...
该工具类提供了多种方法来发送 GET、POST、PUT、DELETE 等请求,并且支持设置超时时间、代理服务器、证书验证等功能。 关键代码分析 在 HttpUtils 工具类中,有一些关键的代码需要特别注意: 1. `init()` 方法:...