欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 91精品欧美一区二区三区 | 亚洲综合久久成人A片红豆 日本亚洲成人 | 国产日韩视频 | 国产福利91精品一区二区三区 | 成人午夜剧场 | 成人一区二区三区四区 | 免费国产一级淫片 | av片免费 | 国产中文一区 | 国产91高清在线 | 亚洲黄色一级大片 | 三人弄娇妻高潮3p视频 | 国产精品成人国产乱一区 | 成人激情视频在线观看 | 色小说香蕉 | 久久精品呦女 | 成人国产精品齐天大性 | 一级特黄欧美 | 国产成人一区二区精品非洲 | 草久影视 | 亚洲品质自拍视频 | 久久福利在线 | 欧美精品黄页在线观看大全 | 亚洲视频免费在线播放 | 美女视频黄a视频免费全过程 | 中文字幕在线不卡 | 国产99精品 | 第一次破處在线国语视频播放 | 国产精品无码2021在线观看 | 久久精品国产亚洲麻豆 | 亚洲国产日韩a在线亚洲 | 久久在线中文字幕 | 添人人躁日日躁夜夜躁夜夜揉 | 日韩手机专区 | 日本不卡一区二区三区在线观看 | 黄色视屏免费观看 | 毛片在线视频 | 99这里只有精品6 | 天天干天天操天天射 | 国产精品1区2区 | 五月婷六月丁香狠狠躁狠狠爱 |