欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

URL與URI

系統 1830 0

* URL(Uniform Resource Locator ),通用資源定位符。 http://www.mybole.com.cn/index.asp 就是一個URL。


* URI(Uniform Resource Identifier),通用資源標識符。


* URI純粹是個符號結構,用于指定構成Web資源的字符串的各個不同部分。URL是一種特殊類型的URI,它包含了用于查找某個資源的足夠信息。其它的URI,例如: mailto:myoble@mybole.com.cn 則不屬于定位符,因為它里面不存在根據該標識符來查找的任何數據。這種URI稱為URN(通用資源名)。


* 在Java庫中,URI類不包含用于訪問通用資源標識符設定的任何方法,它的唯一作用是進行分析。相反,URL類則可以打開到達資源的一個字符串。

實驗:通過URL 來下載服務器上的一個資源文件,需要Tomcat服務器支持

?

代碼:

?

?

    package cn.com.xinli.test.socket;

import java.awt.event.*;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import javax.swing.*;

public class HttpDownLoad
{
	public static void main(String[] args)
	  {
	    JFrame jf=new JFrame("下載程序");
	    jf.setSize(600,400);
	    jf.setLocation(100,100);
	    JPanel p=new JPanel();
	    JLabel l=new JLabel("Please input URL:");
	    final JTextField tf=new JTextField(30);
	    p.add(l);
	    p.add(tf);
	    jf.getContentPane().add(p,"North");
	    final JTextArea ta=new JTextArea();
	    jf.getContentPane().add(ta,"Center");
	    JButton btn=new JButton("Download");
	    jf.getContentPane().add(btn,"South");
	    btn.addActionListener(new ActionListener() {
	          public void actionPerformed(ActionEvent e) {
	            String str=tf.getText();
	            System.out.println("輸入URI的內容:"+str);
	            String fileName=str.substring(str.lastIndexOf("/")+1);
	            /*下載文件的名字*/
	            System.out.println("fileName:"+fileName);
	            
	            try {
	              URL url=new URL(str);
	              URLConnection urlConn=url.openConnection();
	              /**
	               * 由于windos 系統的換行符是\r\n,linux 系統的換行符是\n,
	               * 為了通用我們可以使用系統屬性的方式得到換行符
	               * 
	               */
	              String line=System.getProperty("line.separator");
	              ta.append("Host: "+url.getHost());
	              ta.append(line);
	              ta.append("Port: "+url.getDefaultPort());
	              ta.append(line);
	              ta.append("ContentType: "+urlConn.getContentType());
	              ta.append(line);
	              ta.append("ContentLength: "+urlConn.getContentLength());
	              InputStream is=urlConn.getInputStream();
	              
	              /**
	               * 以下注釋的部分為按行讀取 關鍵代碼:strLine=br.readLine())!=null
	               * 為注釋的部分為按字節讀取,每次讀一個字節 關鍵代碼:(data=is.read())!=-1
	               * 
	               * 文本和html等格式文件可以按行讀取
	               * 圖像聲音文件必須按字節讀取,因為這個時候已經沒有 行 的概念
	               * 其實所有的文件都可以按字節讀取,建議使用按字節讀取 
	               */
	              //InputStreamReader isr=new InputStreamReader(is);
	              //BufferedReader br=new BufferedReader(isr);
	              
	              FileOutputStream fos=new FileOutputStream(fileName);
	              //String strLine;
	              //while((strLine=br.readLine())!=null)
	              int data;
	              while((data=is.read())!=-1)
	              {
//	                fos.write(strLine.getBytes());
	            	/**
	            	 * 按行讀取的時候必須有此句,因為按行讀取的時候,每次對一行,并不會
	            	 * 把行分割符號寫入輸出流,需要我們手動添加
	            	 * 
	            	 */
	  //            fos.write(line.getBytes());
	                fos.write(data);
	              }
	              //br.close();
	              is.close();
	              fos.close();
	            }
	            catch (Exception ex) {
	              ex.printStackTrace();
	            }

	          }
	        });
	    jf.addWindowListener(new WindowAdapter() {
	         public void windowClosing(WindowEvent e) {
	           System.exit(0);
	         }
	       });
	    jf.show();
	  }
}

  

?

?

?

啟動TOMCAT,啟動應用程序,下載 /bz/images 應用下的圖片文件到 測試程序的根路徑下

?

?

?

?

成功將服務器上/bz/images/下的一個圖片文件下載到本程序的 根路徑下!

?

?

發揮:

?

此程序以后可以應用到 從另外一個遠端的服務器上下載文件,而不需要走web層,從response對象中得到輸出流

?

URL與URI


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产成人久久 | 亚洲 欧美 日韩 综合aⅴ视频 | 永久免费av在线 | 天堂在线中文 | 国产一级电影网 | 久久久久久久久久综合 | 亚州 色毛片免费观看 | 欧美国产日韩在线观看 | 波多野结衣免费线在线 | 色淫湿视频 | 久久精品成人免费国产片桃视频 | 精品国产欧美一区二区 | 日韩精品一区二区三区中文3d | 黄色尤物 | 丁香婷婷六月综合交清 | 欧美成人一级 | 亚洲97| 2019天天操夜夜操 | 国产91亚洲精品 | 日本午夜免费无码片三汲大片 | 亚洲精品久久国产高清 | 国产精品久久人妻无码蜜 | 色悠久久久久综合欧美99 | 香港三级日本三级韩国三级韩 | 狠狠色丁香婷婷综合久久来 | 福利精品 | 成年黄网站在线观看免费 | 国产在线一区二区三区 | 久久99热精品 | 欧美一区精品 | 91视频播放| 激情成人综合网 | 成人亚洲一区 | 久久久久久久免费视频 | jizzjizzjizz亚洲女 | 日韩经典视频 | 波多野结衣在线网址 | 久久婷婷是五月综合色狠狠 | 久久噜噜噜精品国产亚洲综合 | 亚洲h视频 | 久久久久久国产精品mv |