社区
Java SE
帖子详情
BufferedInputStream为什么不能readLine?
baidusinazero
2012-03-13 12:30:03
而BufferedReader却可以呢?好像Reader类型的都可以读一行或者写一行字符串,可是为什么字节却不能读写一行呢,字节串?请问我钻牛角尖了吗?
...全文
619
8
打赏
收藏
BufferedInputStream为什么不能readLine?
而BufferedReader却可以呢?好像Reader类型的都可以读一行或者写一行字符串,可是为什么字节却不能读写一行呢,字节串?请问我钻牛角尖了吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hhgzxn
2012-04-02
打赏
举报
回复
BufferedReader的 readLine()是靠换行 ('\n')、回车 ('\r') 判断一行的,而BufferedInputStream没有办法读取换行 ('\n')、回车 ('\r') ,所以没有readLine(),这是我的理解。
安特矮油
2012-03-13
打赏
举报
回复
一个字符是两个字节。这个没问题吧。那么很明显一个换行符也是一个字符,那么你的字节流如何能确认你读的这个字节是否是换行符?既然这样那么怎么可能每行每行的去读
baidusinazero
2012-03-13
打赏
举报
回复
英文和数字也算是一个字符吗?reader是一个字符一个字符的读,而inputStream是一个字节一个字节的读,但前者可读一行,后者不行,这是我不能理解的地方。[Quote=引用 1 楼 jzh440 的回复:]
因为字节的范围是-127~128,一个字符占两个字节,他能表示多少个字符?显然读一行不行。
[/Quote]
pengfeituzi2010
2012-03-13
打赏
举报
回复
BufferedInputStream 也只是个inputStream而已,只不过带了buffer,他应该是读取字节流的,怎么可以readline呢?
GIS的粉刷匠
2012-03-13
打赏
举报
回复
因为字节的范围是-127~128,一个字符占两个字节,他能表示多少个字符?显然读一行不行。
噢噢噢噢
2012-03-13
打赏
举报
回复
[Quote=引用 5 楼 baidusinazero 的回复:]
哦,有点明白。那假如byte b = 128,128算是三个字符还是一个字节?引用 4 楼 abstruct 的回复:
一个字符是两个字节。这个没问题吧。那么很明显一个换行符也是一个字符,那么你的字节流如何能确认你读的这个字节是否是换行符?既然这样那么怎么可能每行每行的去读
[/Quote]
一个字节啊!!
128在内存中就是10000000 八个二进制位,也就是一个字节
而String str = "128" 占24个二进制位 三个字节
baidusinazero
2012-03-13
打赏
举报
回复
哦,有点明白。那假如byte b = 128,128算是三个字符还是一个字节?[Quote=引用 4 楼 abstruct 的回复:]
一个字符是两个字节。这个没问题吧。那么很明显一个换行符也是一个字符,那么你的字节流如何能确认你读的这个字节是否是换行符?既然这样那么怎么可能每行每行的去读
[/Quote]
用字节流实现
readline
功能
使用
Buffer
ed
InputStream
字节流,以及StringBuiler技术实现字节的逐行读取。即字节流的
readline
功能。
Buffer
ed
InputStream
buffer
ed
InputStream
=new
Buffer
ed
InputStream
(new File
InputStream
(file));
基于自定义
Buffer
ed
Reader中的read和
readLine
方法
下面小编就为大家分享一篇基于自定义
Buffer
ed
Reader中的read和
readLine
方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
JavaIO流精讲上
本阶段课程是《零基础学Java》课程第10阶段的课程内容,本阶段主要讲解了JAVA IO流章节的知识点。该课程延续了之前课程的授课风格!内容经过精心雕琢,细致设计,能够做到讲解深入浅出、通俗易懂!可以真正让学员学有所获!课程内容主要有:File类概述、File类功能讲解、JAVA IO流概述、字节流、字符流、缓冲流、
InputStream
、OutputStream、Reader、Writer、File
InputStream
、FileOutputStream、
InputStream
Reader、OutputStreamWriter、FileReader、FileWriter、
Buffer
ed
InputStream
、
Buffer
ed
OutputStream、
Buffer
ed
Reader、
Buffer
ed
Writer的讲解。
最常用的12种设计模式小结
1.策略模式(Strategy): 定义了算法家族, 分别封装起来, 让它们之间可以互相替换. 比如Collections.sort(List list, Comparator c); 可以通过实现多个Comparator接口来达到多种排序的目的. 2.装饰着模式(Decorator): 动态的给一个对象添加一些额外的职责. 比如java.io包.
Buffer
ed
InputStream
封装了File
InputStream
, 它们都实现了
InputStream
接口, 但前者实现了
readLine
方法. 3.代理模式(Proxy): 为其他对象提供一种代理以控制对这个对象的访问. 比如在用户登录
Buffer
ed
Reader/
Buffer
ed
InputStream
.
readLine
()
最新在学习socket写一个简单聊天室时,发现服务端能够输出,但是客户端总是收不到东西。很郁闷,debug后发现无法跳转出
readline
。于是百度之:
readLine
()的实质(下面是从JDK源码摘出来的):String
readLine
(boolean ignoreLF) throws IOException { String
Buffer
s = null; int startC
Java SE
62,614
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章