﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-liuyf8688-文章分类-Java</title><link>http://www.blogjava.net/liuyf8688/category/44225.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 17 Oct 2014 08:13:28 GMT</lastBuildDate><pubDate>Fri, 17 Oct 2014 08:13:28 GMT</pubDate><ttl>60</ttl><item><title>公司不让用下载工具，批量下载怎么办，自己动手吧</title><link>http://www.blogjava.net/liuyf8688/articles/418524.html</link><dc:creator>liuyf8688</dc:creator><author>liuyf8688</author><pubDate>Wed, 08 Oct 2014 11:02:00 GMT</pubDate><guid>http://www.blogjava.net/liuyf8688/articles/418524.html</guid><wfw:comment>http://www.blogjava.net/liuyf8688/comments/418524.html</wfw:comment><comments>http://www.blogjava.net/liuyf8688/articles/418524.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuyf8688/comments/commentRss/418524.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuyf8688/services/trackbacks/418524.html</trackback:ping><description><![CDATA[依赖包：<br /><div style="padding: 4px 5px 4px 4px; font-size: 13px; border: 1px solid #cccccc; width: 1624.828125px; word-break: break-all; background-color: #eeeeee;"><span style="color: #008080;">&nbsp;1</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">&nbsp;2</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.apache.commons<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">&nbsp;3</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>commons-lang3<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">&nbsp;4</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>3.3.2<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">&nbsp;5</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.apache.httpcomponents<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>httpcore<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>4.3.2<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.apache.httpcomponents<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>httpclient<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>4.3.5<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #008080;">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span></div><br /><br />源代码：<br /><br /><div style="padding: 4px 5px 4px 4px; font-size: 13px; border: 1px solid #cccccc; width: 1624.828125px; word-break: break-all; background-color: #eeeeee;"><span style="color: #008080;">&nbsp; 1</span>&nbsp;<span style="color: #0000ff;">package</span>&nbsp;demo.httpclient.test;<br /><span style="color: #008080;">&nbsp;&nbsp;2</span>&nbsp;<br /><span style="color: #008080;">&nbsp;&nbsp;3</span>&nbsp;<span style="color: #0000ff;">import</span>&nbsp;java.io.FileOutputStream;<br /><span style="color: #008080;">&nbsp;&nbsp;4</span>&nbsp;<span style="color: #0000ff;">import</span>&nbsp;java.io.IOException;<br /><span style="color: #008080;">&nbsp;&nbsp;5</span>&nbsp;<span style="color: #0000ff;">import</span>&nbsp;java.io.InputStream;<br /><span style="color: #008080;">&nbsp;&nbsp;6</span>&nbsp;<span style="color: #0000ff;">import</span>&nbsp;java.io.OutputStream;<br /><span style="color: #008080;">&nbsp;&nbsp;7</span>&nbsp;<span style="color: #0000ff;">import</span>&nbsp;java.net.MalformedURLException;<br /><span style="color: #008080;">&nbsp;&nbsp;8</span>&nbsp;<br /><span style="color: #008080;">&nbsp;&nbsp;9</span>&nbsp;<span style="color: #0000ff;">import</span>&nbsp;org.apache.commons.lang3.StringUtils;<br /><span style="color: #008080;">&nbsp;10</span>&nbsp;<span style="color: #0000ff;">import</span>&nbsp;org.apache.http.client.methods.CloseableHttpResponse;<br /><span style="color: #008080;">&nbsp;11</span>&nbsp;<span style="color: #0000ff;">import</span>&nbsp;org.apache.http.client.methods.HttpGet;<br /><span style="color: #008080;">&nbsp;12</span>&nbsp;<span style="color: #0000ff;">import</span>&nbsp;org.apache.http.impl.client.CloseableHttpClient;<br /><span style="color: #008080;">&nbsp;13</span>&nbsp;<span style="color: #0000ff;">import</span>&nbsp;org.apache.http.impl.client.HttpClients;<br /><span style="color: #008080;">&nbsp;14</span>&nbsp;<br /><span style="color: #008080;">&nbsp;15</span>&nbsp;<span style="color: #0000ff;">public</span>&nbsp;<span style="color: #0000ff;">class</span>&nbsp;Download&nbsp;{<br /><span style="color: #008080;">&nbsp;16</span>&nbsp;<br /><span style="color: #008080;">&nbsp;17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">public</span>&nbsp;<span style="color: #0000ff;">static</span>&nbsp;<span style="color: #0000ff;">void</span>&nbsp;main(String[]&nbsp;args)&nbsp;<span style="color: #0000ff;">throws</span>&nbsp;MalformedURLException&nbsp;{<br /><span style="color: #008080;">&nbsp;18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;启始编号</span><span style="color: #008000;"><br /></span><span style="color: #008080;">&nbsp;20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">int</span>&nbsp;start&nbsp;=&nbsp;96;<br /><span style="color: #008080;">&nbsp;21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;结束编号</span><span style="color: #008000;"><br /></span><span style="color: #008080;">&nbsp;22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">int</span>&nbsp;end&nbsp;=&nbsp;97;<br /><span style="color: #008080;">&nbsp;23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;url中去除最后的文件名的部分</span><span style="color: #008000;"><br /></span><span style="color: #008080;">&nbsp;24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;prefix&nbsp;=&nbsp;"http://s5.hxen.com/m2/tingli/nce/";<br /><span style="color: #008080;">&nbsp;25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;有规则的文件名称</span><span style="color: #008000;"><br /></span><span style="color: #008080;">&nbsp;26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;pattern&nbsp;=&nbsp;"2-{x}.mp3";<br /><span style="color: #008080;">&nbsp;27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;pattern中，x的位置。是否需要补充空格</span><span style="color: #008000;"><br /></span><span style="color: #008080;">&nbsp;28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">int</span>&nbsp;bitNum&nbsp;=&nbsp;2;<br /><span style="color: #008080;">&nbsp;29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;30</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;fileName&nbsp;=&nbsp;"";<br /><span style="color: #008080;">&nbsp;31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;urlStr&nbsp;=&nbsp;"";<br /><span style="color: #008080;">&nbsp;32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;dest&nbsp;=&nbsp;"C:\\快盘\\English\\NewConcept_2_UK";<br /><span style="color: #008080;">&nbsp;34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;destFile&nbsp;=&nbsp;"";<br /><span style="color: #008080;">&nbsp;35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream&nbsp;inputStream&nbsp;=&nbsp;<span style="color: #0000ff;">null</span>;<br /><span style="color: #008080;">&nbsp;36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputStream&nbsp;outputStream&nbsp;=&nbsp;<span style="color: #0000ff;">null</span>;<br /><span style="color: #008080;">&nbsp;37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CloseableHttpClient&nbsp;httpClient&nbsp;=&nbsp;<span style="color: #0000ff;">null</span>;<br /><span style="color: #008080;">&nbsp;38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CloseableHttpResponse&nbsp;response&nbsp;=&nbsp;<span style="color: #0000ff;">null</span>;<br /><span style="color: #008080;">&nbsp;39</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;40</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">byte</span>[]&nbsp;buffer&nbsp;=&nbsp;<span style="color: #0000ff;">new</span>&nbsp;<span style="color: #0000ff;">byte</span>[4096];<br /><span style="color: #008080;">&nbsp;41</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;42</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">for</span>&nbsp;(<span style="color: #0000ff;">int</span>&nbsp;i&nbsp;=&nbsp;start;&nbsp;i&nbsp;&lt;&nbsp;end;&nbsp;i&nbsp;++)&nbsp;{<br /><span style="color: #008080;">&nbsp;43</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;44</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">//<br /></span><span style="color: #008080;">&nbsp;45</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fileName&nbsp;=&nbsp;pattern.replaceAll("\\{x\\}",&nbsp;StringUtils.leftPad(i&nbsp;+&nbsp;"",&nbsp;bitNum,&nbsp;"0"));<br /><span style="color: #008080;">&nbsp;46</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;urlStr&nbsp;=&nbsp;prefix&nbsp;+&nbsp;fileName;<br /><span style="color: #008080;">&nbsp;47</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpGet&nbsp;get&nbsp;=&nbsp;<span style="color: #0000ff;">new</span>&nbsp;HttpGet(urlStr);<br /><span style="color: #008080;">&nbsp;48</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;49</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;destFile&nbsp;=&nbsp;dest&nbsp;+&nbsp;"\\"&nbsp;+&nbsp;fileName;<br /><span style="color: #008080;">&nbsp;50</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">try</span>&nbsp;{<br /><span style="color: #008080;">&nbsp;51</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;52</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(urlStr);<br /><span style="color: #008080;">&nbsp;53</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpClient&nbsp;=&nbsp;HttpClients.createDefault();<br /><span style="color: #008080;">&nbsp;54</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response&nbsp;=&nbsp;httpClient.execute(get);<br /><span style="color: #008080;">&nbsp;55</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inputStream&nbsp;=&nbsp;response.getEntity().getContent();<br /><span style="color: #008080;">&nbsp;56</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outputStream&nbsp;=&nbsp;<span style="color: #0000ff;">new</span>&nbsp;FileOutputStream(destFile);<br /><span style="color: #008080;">&nbsp;57</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;58</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">int</span>&nbsp;bytesRead&nbsp;=&nbsp;-1;<br /><span style="color: #008080;">&nbsp;59</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">while</span>&nbsp;((bytesRead&nbsp;=&nbsp;inputStream.read(buffer))&nbsp;!=&nbsp;-1)&nbsp;{<br /><span style="color: #008080;">&nbsp;60</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outputStream.write(buffer,&nbsp;0,&nbsp;bytesRead);<br /><span style="color: #008080;">&nbsp;61</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080;">&nbsp;62</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;63</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("downloaded!"&nbsp;+&nbsp;destFile);<br /><span style="color: #008080;">&nbsp;64</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println();<br /><span style="color: #008080;">&nbsp;65</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("&nbsp;---&nbsp;");<br /><span style="color: #008080;">&nbsp;66</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println();<br /><span style="color: #008080;">&nbsp;67</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000ff;">catch</span>&nbsp;(IOException&nbsp;e)&nbsp;{<br /><span style="color: #008080;">&nbsp;68</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><span style="color: #008080;">&nbsp;69</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000ff;">finally</span>&nbsp;{<br /><span style="color: #008080;">&nbsp;70</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;71</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">if</span>&nbsp;(inputStream&nbsp;!=&nbsp;<span style="color: #0000ff;">null</span>)&nbsp;{<br /><span style="color: #008080;">&nbsp;72</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">try</span>&nbsp;{<br /><span style="color: #008080;">&nbsp;73</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inputStream.close();<br /><span style="color: #008080;">&nbsp;74</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000ff;">catch</span>&nbsp;(IOException&nbsp;e)&nbsp;{<br /><span style="color: #008080;">&nbsp;75</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><span style="color: #008080;">&nbsp;76</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080;">&nbsp;77</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080;">&nbsp;78</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;79</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">if</span>&nbsp;(outputStream&nbsp;!=&nbsp;<span style="color: #0000ff;">null</span>)&nbsp;{<br /><span style="color: #008080;">&nbsp;80</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">try</span>&nbsp;{<br /><span style="color: #008080;">&nbsp;81</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outputStream.close();<br /><span style="color: #008080;">&nbsp;82</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000ff;">catch</span>&nbsp;(IOException&nbsp;e)&nbsp;{<br /><span style="color: #008080;">&nbsp;83</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><span style="color: #008080;">&nbsp;84</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080;">&nbsp;85</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080;">&nbsp;86</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;87</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">if</span>&nbsp;(response&nbsp;!=&nbsp;<span style="color: #0000ff;">null</span>)&nbsp;{<br /><span style="color: #008080;">&nbsp;88</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">try</span>&nbsp;{<br /><span style="color: #008080;">&nbsp;89</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.close();<br /><span style="color: #008080;">&nbsp;90</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000ff;">catch</span>&nbsp;(IOException&nbsp;e)&nbsp;{<br /><span style="color: #008080;">&nbsp;91</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><span style="color: #008080;">&nbsp;92</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080;">&nbsp;93</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080;">&nbsp;94</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">&nbsp;95</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">if</span>&nbsp;(httpClient&nbsp;!=&nbsp;<span style="color: #0000ff;">null</span>)&nbsp;{<br /><span style="color: #008080;">&nbsp;96</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">try</span>&nbsp;{<br /><span style="color: #008080;">&nbsp;97</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpClient.close();<br /><span style="color: #008080;">&nbsp;98</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000ff;">catch</span>&nbsp;(IOException&nbsp;e)&nbsp;{<br /><span style="color: #008080;">&nbsp;99</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><span style="color: #008080;">100</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080;">101</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080;">102</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080;">103</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080;">104</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080;">105</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080;">106</span>&nbsp;}<br /><span style="color: #008080;">107</span>&nbsp;</div><img src ="http://www.blogjava.net/liuyf8688/aggbug/418524.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuyf8688/" target="_blank">liuyf8688</a> 2014-10-08 19:02 <a href="http://www.blogjava.net/liuyf8688/articles/418524.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA导入ssl证书</title><link>http://www.blogjava.net/liuyf8688/articles/415056.html</link><dc:creator>liuyf8688</dc:creator><author>liuyf8688</author><pubDate>Tue, 24 Jun 2014 02:19:00 GMT</pubDate><guid>http://www.blogjava.net/liuyf8688/articles/415056.html</guid><wfw:comment>http://www.blogjava.net/liuyf8688/comments/415056.html</wfw:comment><comments>http://www.blogjava.net/liuyf8688/articles/415056.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuyf8688/comments/commentRss/415056.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuyf8688/services/trackbacks/415056.html</trackback:ping><description><![CDATA[<div><div>keytool -import -alias 证书别名（通常是域名） -keystore "%JRE_HOME%\lib\security\cacerts" -file "CER文件位置"</div></div><img src ="http://www.blogjava.net/liuyf8688/aggbug/415056.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuyf8688/" target="_blank">liuyf8688</a> 2014-06-24 10:19 <a href="http://www.blogjava.net/liuyf8688/articles/415056.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java SE 5.0 新特性</title><link>http://www.blogjava.net/liuyf8688/articles/408507.html</link><dc:creator>liuyf8688</dc:creator><author>liuyf8688</author><pubDate>Sat, 04 Jan 2014 14:24:00 GMT</pubDate><guid>http://www.blogjava.net/liuyf8688/articles/408507.html</guid><wfw:comment>http://www.blogjava.net/liuyf8688/comments/408507.html</wfw:comment><comments>http://www.blogjava.net/liuyf8688/articles/408507.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuyf8688/comments/commentRss/408507.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuyf8688/services/trackbacks/408507.html</trackback:ping><description><![CDATA[<div><strong style="font-size: 10pt;">1.范型（Generics）</strong><div style="font-size: 10pt;"><span style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;">这个经过漫长等待后被加入到类型系统中的特性，允许一个类型或方法操作不同类型的对象，并提供编译期的类型安全。他加编译期类型安全到集合构架中，并且省去转换的工作。看Java学习指南中的Generics课程。（JSR 14）</span><br style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;" /><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><strong style="font-size: 10pt;">2.增强的for循环（Enhanced for Loop）</strong></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><span style="font-size: 10pt;">这个新语言结构消除了在迭代集合和数组时，使用iterators和索引变量的潜在错误和转换工作。（JSR 201）</span></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><strong style="font-size: 10pt;">3.自动装箱和拆箱（Autoboxing/Unboxing）</strong></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><span style="font-size: 10pt;">这个便利工具消除了在简单类型（如，int）和包装类型（如，Integer）间手动转换的工作。（JSR 201）</span></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><strong style="font-size: 10pt;">4.类型安全的枚举（Typesafe Enums）</strong></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><span style="font-size: 10pt;">这个灵活的面向对象的枚举类型工具允许你创建包含任意方法和属性的枚举类型。他提供了类型安全枚举模式（Effective Java, Item 21）所有好处，并去除了冗长及可能潜在的错误。（JSR 201）</span></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><strong style="font-size: 10pt;">5.可变参数（Varargs）</strong></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><span style="font-size: 10pt;">当调用接收可变长变量的参数列表时，需要将参数列表组装成数组。这个便利工具消除了这些工作。</span></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><strong style="font-size: 10pt;">6.静态导入（Static Import）</strong></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><span style="font-size: 10pt;">这个便利工具使你避免用类名来限定静态元素，从而规避了"常量接口反模式"的缺点。（JSR 201）</span></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><strong style="font-size: 10pt;">7.注解（Annotations [Metadata]）</strong></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><span style="font-size: 10pt;">这个语言特性，授权工具从源代码中的注解产生样板代码，让你在许多情况下避免写样板代码。这引导了出一种"声明式"编程方式，在这种方式中程序员告诉他应该如何被完成，由工具来生成代码并完成他。他同时也消除了将辅助文件与源代码文件保持同步更新的一些工作。替代的工作是这些信息可以被维护在源代码文件中。（JSR 175）</span></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><span style="font-size: 10pt;">NOTE：@Deprecated注解提供了一种方式来标识不建议使用的程序元素。参见：什么情况下，怎么样来废弃APIs（How and When To Deprecate APIs）。</span></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><strong><br /></strong></div></div></div><img src ="http://www.blogjava.net/liuyf8688/aggbug/408507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuyf8688/" target="_blank">liuyf8688</a> 2014-01-04 22:24 <a href="http://www.blogjava.net/liuyf8688/articles/408507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java SE 7 新特性</title><link>http://www.blogjava.net/liuyf8688/articles/408486.html</link><dc:creator>liuyf8688</dc:creator><author>liuyf8688</author><pubDate>Sat, 04 Jan 2014 06:14:00 GMT</pubDate><guid>http://www.blogjava.net/liuyf8688/articles/408486.html</guid><wfw:comment>http://www.blogjava.net/liuyf8688/comments/408486.html</wfw:comment><comments>http://www.blogjava.net/liuyf8688/articles/408486.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuyf8688/comments/commentRss/408486.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuyf8688/services/trackbacks/408486.html</trackback:ping><description><![CDATA[<div><strong style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;">1.二进制常量（Binary Literals）</strong>
<div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;">在Java SE 7中，整型（byte, short, int和long）也可以使用二进制计数方式来表示。为了指定二进制常量，需要为数字增加一个0b或0B的前缀。<br />
<div><strong>2.应用于数值常量的下划线（Underscores in Numeric Literals）</strong></div>
<div>带下划线的任意数字，可以出现在数值常量的任意数字之间。利用这个特性，你可以将数值划分成不同的数字组，这样可以增加代码的可读性。<br />
</div>
<div></div>
<div><strong>3.switch语句中支持String值 （Strings in Switch Statements）</strong></div>
<div>在switch语句的表达式中可以使用String类型。</div>
<div></div>
<div><strong>4.范型对象创建时支持类型推导（Type Inference for Generic Instance Creation）</strong></div>
<div>由于编译器可以根据上下文推导出类型参数，所以可以使用空类型参数（&lt;&gt;）替换在调用范型类型构造函数时所要求的类型参数。</div>
<div></div>
<div><strong>5.改进了在支持可变参数的方法中使用非具体（Non-Refiable，如通过类型参数指定）的形参时，出现的编译器警告和错误（Improved Compiler Warnings and Errors When Using Non-Reifiable Formal Parameters with Varargs Methods）</strong></div>
<div>使用非具体的形式参数声明可变参数的方法或构造函数时，Java SE 7编译器会在声明的地上给出一个警告信息。Java SE 7引入了编译器选项-Xlint:varargs和注解@SafeVarargs和@SuppressWarnings({"unchecked", "varargs"})来禁止警告。</div>
<div></div>
<div><strong>6.增加try-with-resources语句（The try-with-resources Statement）</strong></div>
<div>try-with-resources语句是一个声明了一个或多个资源的try语句。资源是指在程序使用完成后必须关闭的一个对象。try-with-resources语句确保每个资源在该语句结束后被关闭。任何实现java.io.Closeable接口和新java.lang.AutoCloseable接口的对象，可以被看作一种资源。java.io.Inputstream，OutputStream，Reader，Writer，java.sql.Connection，Statement，ResultSet类被重新实现，并实现了AutoCloseable接口。以上提到这些类，也可以被用作是try-with-resources语句中的一种资源。<br />
</div>
<div></div>
<div><strong>7.支持捕获多个异常，使用改进的类型检测重新抛出异常（Catching Multiple Exception Types and Rethrowing Exceptions with Improved Type Checking）</strong></div>
<div>一个单catch块可以处理多种类型的异常。此外，编译器相比之前的实现版本，对重新抛出的异常分析的更准确。你使你可以在一个方法声明的throws语句中指定多个特定异常类型。</div>
</div>
</div><img src ="http://www.blogjava.net/liuyf8688/aggbug/408486.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuyf8688/" target="_blank">liuyf8688</a> 2014-01-04 14:14 <a href="http://www.blogjava.net/liuyf8688/articles/408486.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>身份证检验工具类</title><link>http://www.blogjava.net/liuyf8688/articles/357662.html</link><dc:creator>liuyf8688</dc:creator><author>liuyf8688</author><pubDate>Wed, 31 Aug 2011 10:12:00 GMT</pubDate><guid>http://www.blogjava.net/liuyf8688/articles/357662.html</guid><wfw:comment>http://www.blogjava.net/liuyf8688/comments/357662.html</wfw:comment><comments>http://www.blogjava.net/liuyf8688/articles/357662.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuyf8688/comments/commentRss/357662.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuyf8688/services/trackbacks/357662.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 记录，备查！&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;/**&nbsp; 2&nbsp;&nbsp;*&nbsp;文件描述：检查身份证。&nbsp;&nbsp;3&nbsp;&nbsp;*/&nbsp;&nbsp;4&nbsp;package&nbsp;com.baofeng.util;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;6&nbsp;import&n...&nbsp;&nbsp;<a href='http://www.blogjava.net/liuyf8688/articles/357662.html'>阅读全文</a><img src ="http://www.blogjava.net/liuyf8688/aggbug/357662.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuyf8688/" target="_blank">liuyf8688</a> 2011-08-31 18:12 <a href="http://www.blogjava.net/liuyf8688/articles/357662.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>What's the difference between the -client and -server systems?</title><link>http://www.blogjava.net/liuyf8688/articles/296829.html</link><dc:creator>liuyf8688</dc:creator><author>liuyf8688</author><pubDate>Mon, 28 Sep 2009 11:37:00 GMT</pubDate><guid>http://www.blogjava.net/liuyf8688/articles/296829.html</guid><wfw:comment>http://www.blogjava.net/liuyf8688/comments/296829.html</wfw:comment><comments>http://www.blogjava.net/liuyf8688/articles/296829.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuyf8688/comments/commentRss/296829.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuyf8688/services/trackbacks/296829.html</trackback:ping><description><![CDATA[These two systems are different binaries. They are essentially two different compilers (JITs)interfacing to the same runtime system. The client system is optimal for applications which need fast startup times or small footprints, the server system is optimal for applications where the overall performance is most important. In general the client system is better suited for interactive applications such as GUIs. Some of the other differences include the compilation policy,heap defaults, and inlining policy.
<img src ="http://www.blogjava.net/liuyf8688/aggbug/296829.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuyf8688/" target="_blank">liuyf8688</a> 2009-09-28 19:37 <a href="http://www.blogjava.net/liuyf8688/articles/296829.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>