| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 753 人关注过本帖
标题:InputStream问题
只看楼主 加入收藏
chrispull
Rank: 1
等 级:新手上路
帖 子:30
专家分:1
注 册:2009-8-31
结帖率:50%
收藏
 问题点数:0 回复次数:2 
InputStream问题
import
import
import
import
import
import
import
public class Test{
 public static void main(String[] args){
   try {
      URL url = new URL("http://hiphotos.baidu.com/%B4%BA%D6%C1%C7%EF%C1%A7/pic/item/9dc34434786980a3d1a2d3e3.jpg");
      URLConnection con = url.openConnection();
      long size = con.getContentLength();
      System.out.println(size);
      InputStream in=url.openStream()
      //上面的方法url.openStream()返回一个InputStream一个对象,但是InputStream是一个抽象类,不是说抽象类不能实例化吗,这里为什么InputStream 又可以实例化。
      FileOutputStream out = new FileOutputStream("D://17266.gif");
      int i=in.read();
      while(i!=-1){
         out.write(i);
          i=in.read();
      }
      in.close();
      out.close();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    }
}



[ 本帖最后由 chrispull 于 2010-10-26 22:30 编辑 ]
搜索更多相关主题的帖子: InputStream 
2010-10-26 22:28
makebest
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:658
专家分:962
注 册:2005-3-17
收藏
得分:0 
定义成 InputStream , 赋值可以是实现了该类的任何子类, 你调试一下就知道实际上是哪个类了.
2010-10-26 23:33
chrispull
Rank: 1
等 级:新手上路
帖 子:30
专家分:1
注 册:2009-8-31
收藏
得分:0 
哦明白了。url.openStream()方法里真正返回的是FilterInputStream类型(它是InputStream的子类),但是该方法的返回值是InputStream类型的,所以就把FilterInputStream类型强制转换成它的父类InputStream类型。其实其实这里就是使用了多态机制
2010-10-27 08:13
快速回复:InputStream问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.065474 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved