温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

整理收集的一些常用java工具类

发布时间:2020-07-08 05:10:02 来源:网络 阅读:1208 作者:沙漏半杯 栏目:编程语言

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.  * <p>Title: pojoToJson</p>  21.  * <p>Description: </p>  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> T jsonToPojo(String jsonData, Class<T> 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.  * <p>Title: jsonToList</p>  55.  * <p>Description: </p>  56.  * @param jsonData  57.  * @param beanType  58.  * @return 59.  */  60.  public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) {   61.  JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);   62.  try {   63.  List<T> 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<String, String> 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<String, String> 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<NameValuePair> 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.  * <p>Title: uploadFile</p>  31.  * <p>Description: </p>  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.  * <p>Title: uploadFile</p>  54.  * <p>Description: </p>  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.  <span >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.  }</span>   # ![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.  * <p>Title: EasyUIResult</p>  8.  * <p>Description: </p>  9.  * <p>Company: www.itcast.com</p>   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.  * <p>Title: FtpUtil</p>  19.  * <p>Description: </p>  20.  * <p>Company: www.itcast.com</p>   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.  * <p>Title: IDUtils</p>  8.  * <p>Description: </p>  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.  * <p>Title: PictureResult</p>  5.  * <p>Description: </p>  6.  * <p>Company: www.itcast.com</p>   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.  }



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI