IO流中的装饰者模式初探

作者: 陈利健 | 来源:发表于2015-01-13 19:08 被阅读455次

    以上一篇中的代码为例:

    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中去,知道读到一个空行,跳出。

    相关文章

      网友评论

        本文标题:IO流中的装饰者模式初探

        本文链接:https://www.haomeiwen.com/subject/iwgqxttx.html