java中br.readLine与 br.read的用法有什么区别??
7个回答
展开全部
read方法
功能:读取单个字符。
返回:作为一个整数(其范围从 0 到 65535 (0x00-0xffff))读入的字符,如果已到达流末尾,则返回 -1
readLine方法
功能:读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。
返回:包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null
功能:读取单个字符。
返回:作为一个整数(其范围从 0 到 65535 (0x00-0xffff))读入的字符,如果已到达流末尾,则返回 -1
readLine方法
功能:读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。
返回:包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null
追问
这两个方法可不可以换着用?当我只写入一个数字是为什么用read()会出错??谢谢……
追答
报错?请发送错误信息
为了帮助理解我写了一个测试类,请参照
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class T0517 {
public static void main(String[] args) {
FileReader input;
try {
input = new FileReader("c:/a.txt");
BufferedReader br = new BufferedReader(input);
for (int i = 0; i < 10; i++) {
System.out.println("read=" + br.read());
// System.out.println("readline=" + br.readLine());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
=================================
我在C盘根目录下放入文件a.txt 里面内容有3行
a
1
123
===========使用read测试(直接执行我的代码)==================
read=97
read=13
read=10
read=49
read=13
read=10
read=49
read=50
read=51
read=-1
说明:返回的数字是字符的char型码,
97=[a] ;49=[1];
50=[2];51=[3];
13=[回车];10=[换行];
-1=[文件到底下面没有内容就返回-1
总结:read返回文件中所有内容的char型码
===========使用readline测试(代码中注释掉那句,并把read注释掉执行)===========
readline=a
readline=1
readline=123
readline=null
readline=null
readline=null
readline=null
readline=null
readline=null
readline=null
说明:很明显是取文件中每一行的内容输出
最后,两个方法因为返回值不同,所以基本不会换着用,readline比较多用,因为方便,read用的相对少,因为要得到可读的内容,需要转码.
展开全部
readline有缓存,大数据效率好,read速度快,处理小数据量效率好!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
br.readLine()是用来读取整行的内容
br.read()读取一个字符或一个字节
br.read()读取一个字符或一个字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while((t=br.readLine())!=null){ //在这里读出一行到t,但没有用 只要理解这个用法百分百写不出死 仔细看一下两种写法有什么区别 都是取值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
readLine一次取出一行数据
read取出一个字符
read取出一个字符
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询