到 Google 资讯主页   
EasyJF首页   资料   源码   软件    论坛   网站    
   使用帮助    
    该信息为本站MyRSS系统缓存内容,部分图片及附件有可能无法正常使用.easyjf.comwww.javaresearch.org无关,不对该信息负责.通过http://www.javaresearch.org/article/77069.htm访问该信息的原始内容.
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   
谈一个两行的程序
作者:zhyiwww 来源:www.javaresearch.org  发布时间:2007-12-11 11:11:36.99


HttpURLConnection connection = (HttpURLConnection) url.openConnection();                     

BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); 

很多朋友应该都知道这两句话的含义吧!说不定也不一定哦!

我对这两句话主要有下面一些联想:

1.得到url的连接对象URLConnection,其中使用工厂方法设计模式;

2.由于你的URL是http协议的所以downcast为HttpURLConnection;HttpURLConnection是URLConnection的子类;(这是我根据他的HttpURLConnection推断的,在其构造URL时,该URL必定是Http协议的),使用了向下转型;

3.得到此连接的输入流,对输入流进行适配,适配至一个Reader对象,使用了适配器模式;

4.然后对此Reader对象使用装饰器模式进行装饰,最终得到一个带缓冲的reader,使用了IO包中最著名的模式装饰器模式;

5.接着应该就是使用readLine方法读取每一行!!

是否你还有其它联想呢?net包中的HttpURLConnection中流的读取和内容的读取是否又是观察者模式呢?!是否在URL构造器中使用的是ftp协议是否可以将URLConnection downcast为FTPURLConnection呢?!net包的基础又是什么呢?――Socket。那我们的Socket和URL的差别是什么呢?(URL主要用于资源的下载,Socket主要用于通信,是构造通信协议的基础。不信啊!打开你的rt.jar反编译net包中的其它文件你就可以明白了!)Socket又是什么呢?和本地操作系统对于的一个类!!好像还有很多很多唉!!读完net包的源代码和rt.jar包中对于的源代码你会发现,net包其实是一个包含大量工厂方法的优秀的Framework。

赶快去研究研究吧 



 
相关文章
 
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   


EasyJF.com 2006 隐私政策 使用EasyJF前必读