中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-07-08 05:10:02 來源:網絡 閱讀:1191 作者:沙漏半杯 欄目:編程語言

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

兴山县| 鄯善县| 河源市| 宁强县| 若羌县| 三穗县| 湛江市| 颍上县| 房产| 左贡县| 繁昌县| 静宁县| 巴青县| 昌图县| 昭觉县| 荔波县| 桓仁| 菏泽市| 新津县| 读书| 徐州市| 修武县| 普宁市| 霍邱县| 大冶市| 肥西县| 林口县| 通辽市| 溧水县| 赞皇县| 泾川县| 罗田县| 邵阳县| 阿拉善盟| 阿瓦提县| 同仁县| 儋州市| 乐陵市| 鄂托克旗| 绵阳市| 屯留县|