第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

[二十二]JavaIO之LineNumberReader

標(biāo)簽:
Java

功能介绍

LineNumberReader是提供了行号的具体的装饰器类

跟踪行号的缓冲字符输入流

此类定义了方法 setLineNumber(int) 和 getLineNumber(),它们可分别用于设置和获取当前行号

默认情况下,行编号从 0 开始

该行号随数据读取在每个 行结束符 处递增,并且可以通过调用 setLineNumber(int) 更改行号

但是,setLineNumber(int) 不会实际更改流中的当前位置;

它只更改将由 getLineNumber() 返回的值

有的朋友可能觉得,这也叫装饰器模式么?

还是那句话

设计模式是作为解决问题或者设计类层级结构时的一种思维的存在,而不是公式一样的存在!

image_5b9a564e_6234

回到顶部

构造方法

LineNumberReader 继承了BufferedReader
构造方法跟BufferedReader 一样
内部也是直接super
image_5b9a564e_23d1

回到顶部

其他方法

read以及readLine方法

仔细看下两个版本的read方法  以及 readLine方法
他们都是super.XXX
然后在此基础上提供了行号的功能

int read()

          读取单个字符

int read(char[] cbuf, int off, int len)

          将字符读入数组中的某一部分

readLine()

          读取文本行

image_5b9a564e_690

BufferedReader是支持标记
所以LineNumberReader也是自动支持了
内部借助的也是super.XXX
image_5b9a564e_8be

也例行提供了skip
里面的read 是super.read.....
image_5b9a564e_5f60

回到顶部

总结

LineNumberReader本身并没有太多的东西,他是BufferedReader的子类

他的逻辑意义,非常典型简单的装饰器模式

是你还有你,一切拜托你,然后自己增加了点小功能

构造调用父类构造方法,里面的方法也都是借助于super.XXX

只不过增加了行号的功能

一定要记住,setLineNumber(int) 并不会改变流

只是改变内部的那个    private int lineNumber = 0;

原文出处:https://www.cnblogs.com/noteless/p/9642904.html

點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消