A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

BufferedWriter和BufferedReader复制文件,用readLine()读,在写到复制文件中去,为甚么必须要用newLine()方法换行,否则复制文件和原文件的内容一样,复制文件中的内容都在一行上面。为什么呢?

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

6 个回复

倒序浏览
newLine()方法是用来换行的  你读的时候是一行一行读的   你读完了一行必须newLine()方法一下  用来保证和你的源文件格式一样
回复 使用道具 举报
readLine()是BufferedReader的一个方法,BufferedReader中的readLine()原理是 用Reader中read()方法一个一个的读,放入一个自定义的容器中。读完一行, 才返回一行数据。
同理,newLine()
回复 使用道具 举报
因为文件内容的每一行结尾都有/r/n终止符,以此终止符来换行的。
而readLine()读取数据时,并不会读取/r/n终止符,所以每读取一行就要使用newLine()换行,不然读取到的数据都在一行里。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
readLine()返回:包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null
因为readLine方法返回的没有换行符,所以需要newLine方法换行,相当于添加换行符。
回复 使用道具 举报
BufferedReader中readline()方法是读取一行,包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null
要用newline()进行换行, 此方法是用来换行;
回复 使用道具 举报
画了个原理图,供大家参考下

readLine原理图.png (30.74 KB, 下载次数: 81)

readLine原理图.png

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马