收集整理的2020年一些最常用的11个java工具类

1.json转换工具

1.  package com.taotao.utils;  3.  import java.util.List;  5.  import com.fasterxml.jackson.core.JsonProcessingException;  6.  import com.fasterxml.jackson.databind.JavaType;  7.  import com.fasterxml.jackson.databind.JsonNode;  8.  import com.fasterxml.jackson.databind.ObjectMapper;  10.  /** 11.  * json转换工具类 12.  */  13.  public class JsonUtils {  15.  // 定义jackson对象  16.  private static final ObjectMapper MAPPER = new ObjectMapper();  18.  /** 19.  * 将对象转换成json字符串。 20.  *

Title: pojoToJson

21.  *

Description:

22.  * @param data 23.  * @return 24.  */  25.  public static String objectToJson(Object data) {  26.  try {  27.  String string = MAPPER.writeValueAsString(data);  28.  return string;  29.  } catch (JsonProcessingException e) {  30.  e.printStackTrace();  31.  }  32.  return null;  33.  }  35.  /** 36.  * 将json结果集转化为对象 37.  *  38.  * @param jsonData json数据 39.  * @param clazz 对象中的object类型 40.  * @return 41.  */  42.  public static T jsonToPojo(String jsonData, Class beanType) {  43.  try {  44.  T t = MAPPER.readValue(jsonData, beanType);  45.  return t;  46.  } catch (Exception e) {  47.  e.printStackTrace();  48.  }  49.  return null;  50.  }  52.  /** 53.  * 将json数据转换成pojo对象list 54.  *

Title: jsonToList

55.  *

Description:

56.  * @param jsonData 57.  * @param beanType 58.  * @return 59.  */  60.  public static List jsonToList(String jsonData, Class beanType) {  61.  JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);  62.  try {  63.  List list = MAPPER.readValue(jsonData, javaType);  64.  return list;  65.  } catch (Exception e) {  66.  e.printStackTrace();  67.  }  69.  return null;  70.  }  72.  } 

2.cookie的读写

1.  package com.taotao.common.utils;  3.  import java.io.UnsupportedEncodingException;  4.  import java.net.URLDecoder;  5.  import java.net.URLEncoder;  7.  import javax.servlet.http.Cookie;  8.  import javax.servlet.http.HttpServletRequest;  9.  import javax.servlet.http.HttpServletResponse;  12.  /** 13.  *  14.  * Cookie 工具类 15.  * 16.  */  17.  public final class CookieUtils {  19.  /** 20.  * 得到Cookie的值, 不编码 21.  *  22.  * @param request 23.  * @param cookieName 24.  * @return 25.  */  26.  public static String getCookieValue(HttpServletRequest request, String cookieName) {  27.  return getCookieValue(request, cookieName, false);  28.  }  30.  /** 31.  * 得到Cookie的值, 32.  *  33.  * @param request 34.  * @param cookieName 35.  * @return 36.  */  37.  public static String getCookieValue(HttpServletRequest request, String cookieName, boolean isDecoder) {  38.  Cookie[] cookieList = request.getCookies();  39.  if (cookieList == null || cookieName == null) {  40.  return null;  41.  }  42.  String retValue = null;  43.  try {  44.  for (int i = 0; i < cookieList.length; i++) {  45.  if (cookieList[i].getName().equals(cookieName)) {  46.  if (isDecoder) {  47.  retValue = URLDecoder.decode(cookieList[i].getValue(), "UTF-8");  48.  } else {  49.  retValue = cookieList[i].getValue();  50.  }  51.  break;  52.  }  53.  }  54.  } catch (UnsupportedEncodingException e) {  55.  e.printStackTrace();  56.  }  57.  return retValue;  58.  }  60.  /** 61.  * 得到Cookie的值, 62.  *  63.  * @param request 64.  * @param cookieName 65.  * @return 66.  */  67.  public static String getCookieValue(HttpServletRequest request, String cookieName, String encodeString) {  68.  Cookie[] cookieList = request.getCookies();  69.  if (cookieList == null || cookieName == null) {  70.  return null;  71.  }  72.  String retValue = null;  73.  try {  74.  for (int i = 0; i < cookieList.length; i++) {  75.  if (cookieList[i].getName().equals(cookieName)) {  76.  retValue = URLDecoder.decode(cookieList[i].getValue(), encodeString);  77.  break;  78.  }  79.  }  80.  } catch (UnsupportedEncodingException e) {  81.  e.printStackTrace();  82.  }  83.  return retValue;  84.  }  86.  /** 87.  * 设置Cookie的值 不设置生效时间默认浏览器关闭即失效,也不编码 88.  */  89.  public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,  90.  String cookieValue) {  91.  setCookie(request, response, cookieName, cookieValue, -1);  92.  }  94.  /** 95.  * 设置Cookie的值 在指定时间内生效,但不编码 96.  */  97.  public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,  98.  String cookieValue, int cookieMaxage) {  99.  setCookie(request, response, cookieName, cookieValue, cookieMaxage, false);  100.  }  102.  /** 103.  * 设置Cookie的值 不设置生效时间,但编码 104.  */  105.  public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,  106.  String cookieValue, boolean isEncode) {  107.  setCookie(request, response, cookieName, cookieValue, -1, isEncode);  108.  }  110.  /** 111.  * 设置Cookie的值 在指定时间内生效, 编码参数 112.  */  113.  public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,  114.  String cookieValue, int cookieMaxage, boolean isEncode) {  115.  doSetCookie(request, response, cookieName, cookieValue, cookieMaxage, isEncode);  116.  }  118.  /** 119.  * 设置Cookie的值 在指定时间内生效, 编码参数(指定编码) 120.  */  121.  public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,  122.  String cookieValue, int cookieMaxage, String encodeString) {  123.  doSetCookie(request, response, cookieName, cookieValue, cookieMaxage, encodeString);  124.  }  126.  /** 127.  * 删除Cookie带cookie域名 128.  */  129.  public static void deleteCookie(HttpServletRequest request, HttpServletResponse response,  130.  String cookieName) {  131.  doSetCookie(request, response, cookieName, "", -1, false);  132.  }  134.  /** 135.  * 设置Cookie的值,并使其在指定时间内生效 136.  *  137.  * @param cookieMaxage cookie生效的最大秒数 138.  */  139.  private static final void doSetCookie(HttpServletRequest request, HttpServletResponse response,  140.  String cookieName, String cookieValue, int cookieMaxage, boolean isEncode) {  141.  try {  142.  if (cookieValue == null) {  143.  cookieValue = "";  144.  } else if (isEncode) {  145.  cookieValue = URLEncoder.encode(cookieValue, "utf-8");  146.  }  147.  Cookie cookie = new Cookie(cookieName, cookieValue);  148.  if (cookieMaxage > 0)  149.  cookie.setMaxAge(cookieMaxage);  150.  if (null != request) {// 设置域名的cookie  151.  String domainName = getDomainName(request);  152.  System.out.println(domainName);  153.  if (!"localhost".equals(domainName)) {  154.  cookie.setDomain(domainName);  155.  }  156.  }  157.  cookie.setPath("/");  158.  response.addCookie(cookie);  159.  } catch (Exception e) {  160.  e.printStackTrace();  161.  }  162.  }  164.  /** 165.  * 设置Cookie的值,并使其在指定时间内生效 166.  *  167.  * @param cookieMaxage cookie生效的最大秒数 168.  */  169.  private static final void doSetCookie(HttpServletRequest request, HttpServletResponse response,  170.  String cookieName, String cookieValue, int cookieMaxage, String encodeString) {  171.  try {  172.  if (cookieValue == null) {  173.  cookieValue = "";  174.  } else {  175.  cookieValue = URLEncoder.encode(cookieValue, encodeString);  176.  }  177.  Cookie cookie = new Cookie(cookieName, cookieValue);  178.  if (cookieMaxage > 0)  179.  cookie.setMaxAge(cookieMaxage);  180.  if (null != request) {// 设置域名的cookie  181.  String domainName = getDomainName(request);  182.  System.out.println(domainName);  183.  if (!"localhost".equals(domainName)) {  184.  cookie.setDomain(domainName);  185.  }  186.  }  187.  cookie.setPath("/");  188.  response.addCookie(cookie);  189.  } catch (Exception e) {  190.  e.printStackTrace();  191.  }  192.  }  194.  /** 195.  * 得到cookie的域名 196.  */  197.  private static final String getDomainName(HttpServletRequest request) {  198.  String domainName = null;  200.  String serverName = request.getRequestURL().toString();  201.  if (serverName == null || serverName.equals("")) {  202.  domainName = "";  203.  } else {  204.  serverName = serverName.toLowerCase();  205.  serverName = serverName.substring(7);  206.  final int end = serverName.indexOf("/");  207.  serverName = serverName.substring(0, end);  208.  final String[] domains = serverName.split("\\.");  209.  int len = domains.length;  210.  if (len > 3) {  211.  // www.xxx.com.cn  212.  domainName = "." + domains[len - 3] + "." + domains[len - 2] + "." + domains[len - 1];  213.  } else if (len <= 3 && len > 1) {  214.  // xxx.com or xxx.cn  215.  domainName = "." + domains[len - 2] + "." + domains[len - 1];  216.  } else {  217.  domainName = serverName;  218.  }  219.  }  221.  if (domainName != null && domainName.indexOf(":") > 0) {  222.  String[] ary = domainName.split("\\:");  223.  domainName = ary[0];  224.  }  225.  return domainName;  226.  }  228.  } 

3.HttpClientUtil

1.  package com.taotao.utils;  3.  import java.io.IOException;  4.  import java.net.URI;  5.  import java.util.ArrayList;  6.  import java.util.List;  7.  import java.util.Map;  9.  import org.apache.http.NameValuePair;  10.  import org.apache.http.client.entity.UrlEncodedFormEntity;  11.  import org.apache.http.client.methods.CloseableHttpResponse;  12.  import org.apache.http.client.methods.HttpGet;  13.  import org.apache.http.client.methods.HttpPost;  14.  import org.apache.http.client.utils.URIBuilder;  15.  import org.apache.http.entity.ContentType;  16.  import org.apache.http.entity.StringEntity;  17.  import org.apache.http.impl.client.CloseableHttpClient;  18.  import org.apache.http.impl.client.HttpClients;  19.  import org.apache.http.message.BasicNameValuePair;  20.  import org.apache.http.util.EntityUtils;  22.  public class HttpClientUtil {  24.  public static String doGet(String url, Map param) {  26.  // 创建Httpclient对象  27.  CloseableHttpClient httpclient = HttpClients.createDefault();  29.  String resultString = "";  30.  CloseableHttpResponse response = null;  31.  try {  32.  // 创建uri  33.  URIBuilder builder = new URIBuilder(url);  34.  if (param != null) {  35.  for (String key : param.keySet()) {  36.  builder.addParameter(key, param.get(key));  37.  }  38.  }  39.  URI uri = builder.build();  41.  // 创建http GET请求  42.  HttpGet httpGet = new HttpGet(uri);  44.  // 执行请求  45.  response = httpclient.execute(httpGet);  46.  // 判断返回状态是否为200  47.  if (response.getStatusLine().getStatusCode() == 200) {  48.  resultString = EntityUtils.toString(response.getEntity(), "UTF-8");  49.  }  50.  } catch (Exception e) {  51.  e.printStackTrace();  52.  } finally {  53.  try {  54.  if (response != null) {  55.  response.close();  56.  }  57.  httpclient.close();  58.  } catch (IOException e) {  59.  e.printStackTrace();  60.  }  61.  }  62.  return resultString;  63.  }  65.  public static String doGet(String url) {  66.  return doGet(url, null);  67.  }  69.  public static String doPost(String url, Map param) {  70.  // 创建Httpclient对象  71.  CloseableHttpClient httpClient = HttpClients.createDefault();  72.  CloseableHttpResponse response = null;  73.  String resultString = "";  74.  try {  75.  // 创建Http Post请求  76.  HttpPost httpPost = new HttpPost(url);  77.  // 创建参数列表  78.  if (param != null) {  79.  List paramList = new ArrayList<>();  80.  for (String key : param.keySet()) {  81.  paramList.add(new BasicNameValuePair(key, param.get(key)));  82.  }  83.  // 模拟表单  84.  UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList);  85.  httpPost.setEntity(entity);  86.  }  87.  // 执行http请求  88.  response = httpClient.execute(httpPost);  89.  resultString = EntityUtils.toString(response.getEntity(), "utf-8");  90.  } catch (Exception e) {  91.  e.printStackTrace();  92.  } finally {  93.  try {  94.  response.close();  95.  } catch (IOException e) {  96.  // TODO Auto-generated catch block  97.  e.printStackTrace();  98.  }  99.  }  101.  return resultString;  102.  }  104.  public static String doPost(String url) {  105.  return doPost(url, null);  106.  }  108.  public static String doPostJson(String url, String json) {  109.  // 创建Httpclient对象  110.  CloseableHttpClient httpClient = HttpClients.createDefault();  111.  CloseableHttpResponse response = null;  112.  String resultString = "";  113.  try {  114.  // 创建Http Post请求  115.  HttpPost httpPost = new HttpPost(url);  116.  // 创建请求内容  117.  StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON);  118.  httpPost.setEntity(entity);  119.  // 执行http请求  120.  response = httpClient.execute(httpPost);  121.  resultString = EntityUtils.toString(response.getEntity(), "utf-8");  122.  } catch (Exception e) {  123.  e.printStackTrace();  124.  } finally {  125.  try {  126.  response.close();  127.  } catch (IOException e) {  128.  // TODO Auto-generated catch block  129.  e.printStackTrace();  130.  }  131.  }  133.  return resultString;  134.  }  135.  } 

4.FastDFSClient工具类

1.  package cn.itcast.fastdfs.cliennt;  3.  import org.csource.common.NameValuePair;  4.  import org.csource.fastdfs.ClientGlobal;  5.  import org.csource.fastdfs.StorageClient1;  6.  import org.csource.fastdfs.StorageServer;  7.  import org.csource.fastdfs.TrackerClient;  8.  import org.csource.fastdfs.TrackerServer;  10.  public class FastDFSClient {  12.  private TrackerClient trackerClient = null;  13.  private TrackerServer trackerServer = null;  14.  private StorageServer storageServer = null;  15.  private StorageClient1 storageClient = null;  17.  public FastDFSClient(String conf) throws Exception {  18.  if (conf.contains("classpath:")) {  19.  conf = conf.replace("classpath:", this.getClass().getResource("/").getPath());  20.  }  21.  ClientGlobal.init(conf);  22.  trackerClient = new TrackerClient();  23.  trackerServer = trackerClient.getConnection();  24.  storageServer = null;  25.  storageClient = new StorageClient1(trackerServer, storageServer);  26.  }  28.  /** 29.  * 上传文件方法 30.  *

Title: uploadFile

31.  *

Description:

32.  * @param fileName 文件全路径 33.  * @param extName 文件扩展名,不包含(.) 34.  * @param metas 文件扩展信息 35.  * @return 36.  * @throws Exception 37.  */  38.  public String uploadFile(String fileName, String extName, NameValuePair[] metas) throws Exception {  39.  String result = storageClient.upload_file1(fileName, extName, metas);  40.  return result;  41.  }  43.  public String uploadFile(String fileName) throws Exception {  44.  return uploadFile(fileName, null, null);  45.  }  47.  public String uploadFile(String fileName, String extName) throws Exception {  48.  return uploadFile(fileName, extName, null);  49.  }  51.  /** 52.  * 上传文件方法 53.  *

Title: uploadFile

54.  *

Description:

55.  * @param fileContent 文件的内容,字节数组 56.  * @param extName 文件扩展名 57.  * @param metas 文件扩展信息 58.  * @return 59.  * @throws Exception 60.  */  61.  public String uploadFile(byte[] fileContent, String extName, NameValuePair[] metas) throws Exception {  63.  String result = storageClient.upload_file1(fileContent, extName, metas);  64.  return result;  65.  }  67.  public String uploadFile(byte[] fileContent) throws Exception {  68.  return uploadFile(fileContent, null, null);  69.  }  71.  public String uploadFile(byte[] fileContent, String extName) throws Exception {  72.  return uploadFile(fileContent, extName, null);  73.  }  74.  } 

1.  public class FastDFSTest {  3.  @Test  4.  public void testFileUpload() throws Exception {  5.  // 1、加载配置文件,配置文件中的内容就是tracker服务的地址。  6.  ClientGlobal.init("D:/workspaces-itcast/term197/taotao-manager-web/src/main/resources/resource/client.conf");  7.  // 2、创建一个TrackerClient对象。直接new一个。  8.  TrackerClient trackerClient = new TrackerClient();  9.  // 3、使用TrackerClient对象创建连接,获得一个TrackerServer对象。  10.  TrackerServer trackerServer = trackerClient.getConnection();  11.  // 4、创建一个StorageServer的引用,值为null  12.  StorageServer storageServer = null;  13.  // 5、创建一个StorageClient对象,需要两个参数TrackerServer对象、StorageServer的引用  14.  StorageClient storageClient = new StorageClient(trackerServer, storageServer);  15.  // 6、使用StorageClient对象上传图片。  16.  //扩展名不带“.”  17.  String[] strings = storageClient.upload_file("D:/Documents/Pictures/images/200811281555127886.jpg", "jpg", null);  18.  // 7、返回数组。包含组名和图片的路径。  19.  for (String string : strings) {  20.  System.out.println(string);  21.  }  22.  }  23.  }  # ![image](http://upload-images.jianshu.io/upload_images/2509688-45370c9d24b87e31?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

5.获取异常的堆栈信息

1.  package com.taotao.utils;  3.  import java.io.PrintWriter;  4.  import java.io.StringWriter;  6.  public class ExceptionUtil {  8.  /** 9.  * 获取异常的堆栈信息 10.  *  11.  * @param t 12.  * @return 13.  */  14.  public static String getStackTrace(Throwable t) {  15.  StringWriter sw = new StringWriter();  16.  PrintWriter pw = new PrintWriter(sw);  18.  try {  19.  t.printStackTrace(pw);  20.  return sw.toString();  21.  } finally {  22.  pw.close();  23.  }  24.  }  25.  } 

#6.easyUIDataGrid对象返回值

1.  package com.taotao.result;  3.  import java.util.List;  5.  /** 6.  * easyUIDataGrid对象返回值 7.  *

Title: EasyUIResult

8.  *

Description:

9.  *

Company: www.itcast.com

  10.  * @author  入云龙 11.  * @date    2015年7月21日下午4:12:52 12.  * @version 1.0 13.  */  14.  public class EasyUIResult {  16.  private Integer total;  18.  private List rows;  20.  public EasyUIResult(Integer total, List rows) {  21.  this.total = total;  22.  this.rows = rows;  23.  }  25.  public EasyUIResult(long total, List rows) {  26.  this.total = (int) total;  27.  this.rows = rows;  28.  }  30.  public Integer getTotal() {  31.  return total;  32.  }  33.  public void setTotal(Integer total) {  34.  this.total = total;  35.  }  36.  public List getRows() {  37.  return rows;  38.  }  39.  public void setRows(List rows) {  40.  this.rows = rows;  41.  }  44.  } 

7.ftp上传下载工具类

1.  package com.taotao.utils;  3.  import java.io.File;  4.  import java.io.FileInputStream;  5.  import java.io.FileNotFoundException;  6.  import java.io.FileOutputStream;  7.  import java.io.IOException;  8.  import java.io.InputStream;  9.  import java.io.OutputStream;  11.  import org.apache.commons.net.ftp.FTP;  12.  import org.apache.commons.net.ftp.FTPClient;  13.  import org.apache.commons.net.ftp.FTPFile;  14.  import org.apache.commons.net.ftp.FTPReply;  16.  /** 17.  * ftp上传下载工具类 18.  *

Title: FtpUtil

19.  *

Description:

20.  *

Company: www.itcast.com

  21.  * @author  入云龙 22.  * @date    2015年7月29日下午8:11:51 23.  * @version 1.0 24.  */  25.  public class FtpUtil {  27.  /**  28.  * Description: 向FTP服务器上传文件  29.  * @param host FTP服务器hostname  30.  * @param port FTP服务器端口  31.  * @param username FTP登录账号  32.  * @param password FTP登录密码  33.  * @param basePath FTP服务器基础目录 34.  * @param filePath FTP服务器文件存放路径。例如分日期存放:/2015/01/01。文件的路径为basePath+filePath 35.  * @param filename 上传到FTP服务器上的文件名  36.  * @param input 输入流  37.  * @return 成功返回true,否则返回false  38.  */    39.  public static boolean uploadFile(String host, int port, String username, String password, String basePath,  40.  String filePath, String filename, InputStream input) {  41.  boolean result = false;  42.  FTPClient ftp = new FTPClient();  43.  try {  44.  int reply;  45.  ftp.connect(host, port);// 连接FTP服务器  46.  // 如果采用默认端口,可以使用ftp.connect(host)的方式直接连接FTP服务器  47.  ftp.login(username, password);// 登录  48.  reply = ftp.getReplyCode();  49.  if (!FTPReply.isPositiveCompletion(reply)) {  50.  ftp.disconnect();  51.  return result;  52.  }  53.  //切换到上传目录  54.  if (!ftp.changeWorkingDirectory(basePath+filePath)) {  55.  //如果目录不存在创建目录  56.  String[] dirs = filePath.split("/");  57.  String tempPath = basePath;  58.  for (String dir : dirs) {  59.  if (null == dir || "".equals(dir)) continue;  60.  tempPath += "/" + dir;  61.  if (!ftp.changeWorkingDirectory(tempPath)) {  62.  if (!ftp.makeDirectory(tempPath)) {  63.  return result;  64.  } else {  65.  ftp.changeWorkingDirectory(tempPath);  66.  }  67.  }  68.  }  69.  }  70.  //设置上传文件的类型为二进制类型  71.  ftp.setFileType(FTP.BINARY_FILE_TYPE);  72.  //上传文件  73.  if (!ftp.storeFile(filename, input)) {  74.  return result;  75.  }  76.  input.close();  77.  ftp.logout();  78.  result = true;  79.  } catch (IOException e) {  80.  e.printStackTrace();  81.  } finally {  82.  if (ftp.isConnected()) {  83.  try {  84.  ftp.disconnect();  85.  } catch (IOException ioe) {  86.  }  87.  }  88.  }  89.  return result;  90.  }  92.  /**  93.  * Description: 从FTP服务器下载文件  94.  * @param host FTP服务器hostname  95.  * @param port FTP服务器端口  96.  * @param username FTP登录账号  97.  * @param password FTP登录密码  98.  * @param remotePath FTP服务器上的相对路径  99.  * @param fileName 要下载的文件名  100.  * @param localPath 下载后保存到本地的路径  101.  * @return  102.  */    103.  public static boolean downloadFile(String host, int port, String username, String password, String remotePath,  104.  String fileName, String localPath) {  105.  boolean result = false;  106.  FTPClient ftp = new FTPClient();  107.  try {  108.  int reply;  109.  ftp.connect(host, port);  110.  // 如果采用默认端口,可以使用ftp.connect(host)的方式直接连接FTP服务器  111.  ftp.login(username, password);// 登录  112.  reply = ftp.getReplyCode();  113.  if (!FTPReply.isPositiveCompletion(reply)) {  114.  ftp.disconnect();  115.  return result;  116.  }  117.  ftp.changeWorkingDirectory(remotePath);// 转移到FTP服务器目录  118.  FTPFile[] fs = ftp.listFiles();  119.  for (FTPFile ff : fs) {  120.  if (ff.getName().equals(fileName)) {  121.  File localFile = new File(localPath + "/" + ff.getName());  123.  OutputStream is = new FileOutputStream(localFile);  124.  ftp.retrieveFile(ff.getName(), is);  125.  is.close();  126.  }  127.  }  129.  ftp.logout();  130.  result = true;  131.  } catch (IOException e) {  132.  e.printStackTrace();  133.  } finally {  134.  if (ftp.isConnected()) {  135.  try {  136.  ftp.disconnect();  137.  } catch (IOException ioe) {  138.  }  139.  }  140.  }  141.  return result;  142.  }  144.  public static void main(String[] args) {  145.  try {    146.  FileInputStream in=new FileInputStream(new File("D:\\temp\\image\\gaigeming.jpg"));    147.  boolean flag = uploadFile("192.168.25.133", 21, "ftpuser", "ftpuser", "/home/ftpuser/www/images","/2015/01/21", "gaigeming.jpg", in);    148.  System.out.println(flag);    149.  } catch (FileNotFoundException e) {    150.  e.printStackTrace();    151.  }    152.  }  153.  } 

8.各种id生成策略

1.  package com.taotao.utils;  3.  import java.util.Random;  5.  /** 6.  * 各种id生成策略 7.  *

Title: IDUtils

8.  *

Description:

9.  * @date    2015年7月22日下午2:32:10 10.  * @version 1.0 11.  */  12.  public class IDUtils {  14.  /** 15.  * 图片名生成 16.  */  17.  public static String genImageName() {  18.  //取当前时间的长整形值包含毫秒  19.  long millis = System.currentTimeMillis();  20.  //long millis = System.nanoTime();  21.  //加上三位随机数  22.  Random random = new Random();  23.  int end3 = random.nextInt(999);  24.  //如果不足三位前面补0  25.  String str = millis + String.format("%03d", end3);  27.  return str;  28.  }  30.  /** 31.  * 商品id生成 32.  */  33.  public static long genItemId() {  34.  //取当前时间的长整形值包含毫秒  35.  long millis = System.currentTimeMillis();  36.  //long millis = System.nanoTime();  37.  //加上两位随机数  38.  Random random = new Random();  39.  int end2 = random.nextInt(99);  40.  //如果不足两位前面补0  41.  String str = millis + String.format("%02d", end2);  42.  long id = new Long(str);  43.  return id;  44.  }  46.  public static void main(String[] args) {  47.  for(int i=0;i< 100;i++)  48.  System.out.println(genItemId());  49.  }  50.  } 

##9.上传图片返回值

1.  package com.result;  2.  /** 3.  * 上传图片返回值 4.  *

Title: PictureResult

5.  *

Description:

6.  *

Company: www.itcast.com

  7.  * @author  入云龙 8.  * @date    2015年7月22日下午2:09:02 9.  * @version 1.0 10.  */  11.  public class PictureResult {  13.  /** 14.  * 上传图片返回值,成功:0 失败:1    15.  */  16.  private Integer error;  17.  /** 18.  * 回显图片使用的url 19.  */  20.  private String url;  21.  /** 22.  * 错误时的错误消息 23.  */  24.  private String message;  25.  public PictureResult(Integer state, String url) {  26.  this.url = url;  27.  this.error = state;  28.  }  29.  public PictureResult(Integer state, String url, String errorMessage) {  30.  this.url = url;  31.  this.error = state;  32.  this.message = errorMessage;  33.  }  34.  public Integer getError() {  35.  return error;  36.  }  37.  public void setError(Integer error) {  38.  this.error = error;  39.  }  40.  public String getUrl() {  41.  return url;  42.  }  43.  public void setUrl(String url) {  44.  this.url = url;  45.  }  46.  public String getMessage() {  47.  return message;  48.  }  49.  public void setMessage(String message) {  50.  this.message = message;  51.  }  53.  } 

10.自定义响应结构

1.  package com.result;  3.  import java.util.List;  5.  import com.fasterxml.jackson.databind.JsonNode;  6.  import com.fasterxml.jackson.databind.ObjectMapper;  8.  /** 9.  * 自定义响应结构 10.  */  11.  public class TaotaoResult {  13.  // 定义jackson对象  14.  private static final ObjectMapper MAPPER = new ObjectMapper();  16.  // 响应业务状态  17.  private Integer status;  19.  // 响应消息  20.  private String msg;  22.  // 响应中的数据  23.  private Object data;  25.  public static TaotaoResult build(Integer status, String msg, Object data) {  26.  return new TaotaoResult(status, msg, data);  27.  }  29.  public static TaotaoResult ok(Object data) {  30.  return new TaotaoResult(data);  31.  }  33.  public static TaotaoResult ok() {  34.  return new TaotaoResult(null);  35.  }  37.  public TaotaoResult() {  39.  }  41.  public static TaotaoResult build(Integer status, String msg) {  42.  return new TaotaoResult(status, msg, null);  43.  }  45.  public TaotaoResult(Integer status, String msg, Object data) {  46.  this.status = status;  47.  this.msg = msg;  48.  this.data = data;  49.  }  51.  public TaotaoResult(Object data) {  52.  this.status = 200;  53.  this.msg = "OK";  54.  this.data = data;  55.  }  57.  //    public Boolean isOK() {  58.  //        return this.status == 200;  59.  //    }  61.  public Integer getStatus() {  62.  return status;  63.  }  65.  public void setStatus(Integer status) {  66.  this.status = status;  67.  }  69.  public String getMsg() {  70.  return msg;  71.  }  73.  public void setMsg(String msg) {  74.  this.msg = msg;  75.  }  77.  public Object getData() {  78.  return data;  79.  }  81.  public void setData(Object data) {  82.  this.data = data;  83.  }  85.  /** 86.  * 将json结果集转化为TaotaoResult对象 87.  *  88.  * @param jsonData json数据 89.  * @param clazz TaotaoResult中的object类型 90.  * @return 91.  */  92.  public static TaotaoResult formatToPojo(String jsonData, Class clazz) {  93.  try {  94.  if (clazz == null) {  95.  return MAPPER.readValue(jsonData, TaotaoResult.class);  96.  }  97.  JsonNode jsonNode = MAPPER.readTree(jsonData);  98.  JsonNode data = jsonNode.get("data");  99.  Object obj = null;  100.  if (clazz != null) {  101.  if (data.isObject()) {  102.  obj = MAPPER.readValue(data.traverse(), clazz);  103.  } else if (data.isTextual()) {  104.  obj = MAPPER.readValue(data.asText(), clazz);  105.  }  106.  }  107.  return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);  108.  } catch (Exception e) {  109.  return null;  110.  }  111.  }  113.  /** 114.  * 没有object对象的转化 115.  *  116.  * @param json 117.  * @return 118.  */  119.  public static TaotaoResult format(String json) {  120.  try {  121.  return MAPPER.readValue(json, TaotaoResult.class);  122.  } catch (Exception e) {  123.  e.printStackTrace();  124.  }  125.  return null;  126.  }  128.  /** 129.  * Object是集合转化 130.  *  131.  * @param jsonData json数据 132.  * @param clazz 集合中的类型 133.  * @return 134.  */  135.  public static TaotaoResult formatToList(String jsonData, Class clazz) {  136.  try {  137.  JsonNode jsonNode = MAPPER.readTree(jsonData);  138.  JsonNode data = jsonNode.get("data");  139.  Object obj = null;  140.  if (data.isArray() && data.size() > 0) {  141.  obj = MAPPER.readValue(data.traverse(),  142.  MAPPER.getTypeFactory().constructCollectionType(List.class, clazz));  143.  }  144.  return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);  145.  } catch (Exception e) {  146.  return null;  147.  }  148.  }  150.  } 

##11.jedis操作

1.  package com.taotao.jedis;  3.  public interface JedisClient {  5.  String set(String key, String value);  6.  String get(String key);  7.  Boolean exists(String key);  8.  Long expire(String key, int seconds);  9.  Long ttl(String key);  10.  Long incr(String key);  11.  Long hset(String key, String field, String value);  12.  String hget(String key, String field);  13.  Long hdel(String key, String... field);  14.  } 

1.  package com.taotao.jedis;  3.  import org.springframework.beans.factory.annotation.Autowired;  5.  import redis.clients.jedis.JedisCluster;  7.  public class JedisClientCluster implements JedisClient {  9.  @Autowired  10.  private JedisCluster jedisCluster;  12.  @Override  13.  public String set(String key, String value) {  14.  return jedisCluster.set(key, value);  15.  }  17.  @Override  18.  public String get(String key) {  19.  return jedisCluster.get(key);  20.  }  22.  @Override  23.  public Boolean exists(String key) {  24.  return jedisCluster.exists(key);  25.  }  27.  @Override  28.  public Long expire(String key, int seconds) {  29.  return jedisCluster.expire(key, seconds);  30.  }  32.  @Override  33.  public Long ttl(String key) {  34.  return jedisCluster.ttl(key);  35.  }  37.  @Override  38.  public Long incr(String key) {  39.  return jedisCluster.incr(key);  40.  }  42.  @Override  43.  public Long hset(String key, String field, String value) {  44.  return jedisCluster.hset(key, field, value);  45.  }  47.  @Override  48.  public String hget(String key, String field) {  49.  return jedisCluster.hget(key, field);  50.  }  52.  @Override  53.  public Long hdel(String key, String... field) {  54.  return jedisCluster.hdel(key, field);  55.  }  57.  } 

1.  package com.taotao.jedis;  4.  import org.springframework.beans.factory.annotation.Autowired;  7.  import redis.clients.jedis.Jedis;  8.  import redis.clients.jedis.JedisPool;  11.  public class JedisClientPool implements JedisClient {  13.  @Autowired  14.  private JedisPool jedisPool;  17.  @Override  18.  public String set(String key, String value) {  19.  Jedis jedis = jedisPool.getResource();  20.  String result = jedis.set(key, value);  21.  jedis.close();  22.  return result;  23.  }  26.  @Override  27.  public String get(String key) {  28.  Jedis jedis = jedisPool.getResource();  29.  String result = jedis.get(key);  30.  jedis.close();  31.  return result;  32.  }  35.  @Override  36.  public Boolean exists(String key) {  37.  Jedis jedis = jedisPool.getResource();  38.  Boolean result = jedis.exists(key);  39.  jedis.close();  40.  return result;  41.  }  44.  @Override  45.  public Long expire(String key, int seconds) {  46.  Jedis jedis = jedisPool.getResource();  47.  Long result = jedis.expire(key, seconds);  48.  jedis.close();  49.  return result;  50.  }  53.  @Override  54.  public Long ttl(String key) {  55.  Jedis jedis = jedisPool.getResource();  56.  Long result = jedis.ttl(key);  57.  jedis.close();  58.  return result;  59.  }  62.  @Override  63.  public Long incr(String key) {  64.  Jedis jedis = jedisPool.getResource();  65.  Long result = jedis.incr(key);  66.  jedis.close();  67.  return result;  68.  }  71.  @Override  72.  public Long hset(String key, String field, String value) {  73.  Jedis jedis = jedisPool.getResource();  74.  Long result = jedis.hset(key, field, value);  75.  jedis.close();  76.  return result;  77.  }  80.  @Override  81.  public String hget(String key, String field) {  82.  Jedis jedis = jedisPool.getResource();  83.  String result = jedis.hget(key, field);  84.  jedis.close();  85.  return result;  86.  }  89.  @Override  90.  public Long hdel(String key, String... field) {  91.  Jedis jedis = jedisPool.getResource();  92.  Long result = jedis.hdel(key, field);  93.  jedis.close();  94.  return result;  95.  }  98.  } 

你可能感兴趣的:(收集整理的2020年一些最常用的11个java工具类)