欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 免费看在线偷拍视频 | 色站综合 | 米奇777四色精品人人爽 | 男人的午夜影院 | 午夜精品久久久久久久99黑人 | 在线成人免费观看视频 | 亚洲国产一区二区视频 | 欧洲一级视频 | 欧美一区二区在线观看视频 | 精品国产成人 | 亚洲视频观看 | 成人一级大片 | 91sao国产在线观看 | 天海翼视频在线 | 2021最新国产成人精品视频 | 国产精品精品 | www.499| 欧美日韩成人一区二区 | 一区二区三区四区精品 | 日韩成人在线观看 | 午夜小视频免费观看 | 国产福利视频一区二区 | 国产亚洲视频免费播放 | 午夜精品小视频 | 欧美影院推理片免费看 | 日韩国产欧美视频 | 免费一区二区三区 | 欧美午夜在线播放 | 欧美日韩国产中文字幕 | 婷婷免费视频 | 亚洲黄区 | 亚洲免费在线看 | 色婷婷色综合激情国产日韩 | 日韩伦理电影免费观看 | 亚洲视频2020| 四虎影视永久免费观看网址 | 操舔 | 亚洲精品久久久 | 午夜免费视频 | 免费在线公开视频 | 中文字幕精品视频 |