IO流中的装饰者模式初探

以上一篇中的代码为例:

public String download(String urlStr){
StringBuffer sb = new StringBuffer();
String line = null;
BufferedReader buffer = null;
        
        try {
            url = new URL(urlStr);
            HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
           //装饰者模式
            buffer = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
            while ((line = buffer.readLine()) != null){
                sb.append(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        finally{
            try {
                buffer.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    return sb.toString();  
}

Java中的IO流设计:使用装饰者模式:要在InputStream外面套上一层InputStreamReader,再套上一层BufferedReader。

InputStream是一种字节流,读进来都是一个个字节,套上一层InputSteamReader就可以转换成字符流,读进来是一个个字符。
再套上一层BufferedReader, BufferedReader有一个readLine方法,可以一次性读取文件中的一行数据,可以一行行读
只要读取不为空,就可以把读到的数据添加到StringBuffer中去,知道读到一个空行,跳出。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1 IO(二)No19 【 缓冲流:内置了缓冲区,对现有的流对象进行了封装,实现了高效的读写操作并增强了功能 ...
    征程_Journey阅读 4,037评论 0 1
  • 一、IO流整体结构图 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称...
    慕凌峰阅读 5,108评论 0 12
  • 一、流的概念和作用。 流是一种有顺序的,有起点和终点的字节集合,是对数据传输的总成或抽象。即数据在两设备之间的传输...
    布鲁斯不吐丝阅读 13,428评论 2 95
  • 概述: 1、IO流:即Input Output的缩写。 2、特点:1)IO流用来处理设备间的数据传输。2)Java...
    玉圣阅读 5,014评论 0 3
  • 摘要 Java I/O是Java技术体系中非常基础的部分,它是学习Java NIO的基础。而深入理解Java NI...
    biakia阅读 12,250评论 7 81

友情链接更多精彩内容