java bufferedreader问题

br =
new BufferedReader(new FileReader("C:\\Product.java"));
String line = null;
while((br.readLine())!=null){
line = br.readLine();//这里的line放到while条件里为什么不同了?
System.out.println(line);
}

br =
new BufferedReader(new FileReader("C:\\Product.java"));
String line = null;
while((line=br.readLine())!=null){
System.out.println(line);
}
为什么不同!!!

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class Copy { public static void main(String[] args){ //记得先把s1.txt创建在C盘 File source = new File("c:/s1.txt"); File target = new File("c:/s2.txt"); //如果s2不存在则创建s2 if(!target.exists()){ try { target.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } try { BufferedReader br = new BufferedReader(new FileReader(source)); BufferedWriter bw = new BufferedWriter(new FileWriter(target)); char[] buffer = new char[128]; System.out.println("文件复制开始"); while(br.read(buffer) != -1){ bw.write(buffer); } bw.close(); br.close(); System.out.println("文件复制结束"); } catch (Exception e) { e.printStackTrace(); } }}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-05-30
line = br.readLine();//这里的line在while每次循环时都会被赋值,
br.readLine(); // 只是读取并没有赋值给 变量 line啊追问

br.readLine(); // 只是读取并没有赋值给 变量 line啊

有啊!!!
while((br.readLine())!=null){

line = br.readLine();//这里赋值了
System.out.println(line);
}

追答

while((br.readLine())!=null){ //在这读了一遍
line = br.readLine();//在这又读了遍,并赋值给line
System.out.println(line);//隔一行打印一行啊
}

本回答被提问者采纳

java io 中BufferedReader缓冲区提高效率的问题
道理很简单,假设你要读取一个文本文件输出到屏幕,一次读一个字节,然后赋值给声明的一个变量,那么需要读取很多次,如果用了BufferedReader,就可以一次把所有的字节都读取到缓冲区,然后再一次性赋值给变量,效率自然就提高了,写文件时也一样,一次写一个字,和一次写1篇文章的区别....

java BufferedReader关闭问题
之所以需要关闭流资源,是为了释放资源,因为io是操作系统的动作,例如如果没有关闭,那么这个IO资源就一直被java进程占用,知道java应用结束,这期间操作系统的其他进程就不能访问该IO资源了。如果你在java代码中访问某个记事本文件,此时你再直接打开该文件,可能就不能打开或者数据不是最新的信息。

在java中,BufferedReader需要用import导入吗?
在java中,BufferedReader需要用import导入 java会自动导入java.lang包,其余包需要用户导入 BufferedReader是io包中的类,需要用import导入 导入语句为 import java.io.BufferedReader;

Java中bufferedReader的readline读取不到文件内容,显示的是null。_百...
1.你这个代码最主要的br怎么获取的没有写,只有最后一句的br.readLine();所以不好判断。2.你主要查看一下文档路径获取的是否正确,数据流读取是否正确。如果前面错了最后一步肯定也读取不到内容。3.问问题贴代码最后贴全了,文档路径,处理过程都得有,而不是只有处理后的数据流。

在java输入输出流中,为什么BufferedReader没有flush()方法
在java输入输出流中,BufferedReader没有flush方法,BufferedWriter有flush方法;这是因为flush方法的作用和功能是向外做输出,将内存中的数据提交输出到外部文件当中,在BufferedWriter中,因为是对外做写操作,因此是有提交输出的flush方法的;而在BufferedReader对象中,因为它的作用是用来从外部读取文件内容到...

详解下java中的BufferedReader语句如何用
BufferedReader是缓冲流, INputStream是字节流 可以想象成一个水管, 在INputStream外面包了一层, 以供读取方便, 就简单理解成, InputStream这个水管一下只能有一滴水从这里通过, 而BufferedReader套在这个水管上, 就可以一下读一串水流 system.in 是放到标准的键盘设备上 然后在命令行打印一句话 请...

请问JAVA中的BufferedReader是什么意思?
BufferedReader是缓存流的一个类。缓存流是计算机领域中输入输出流的一种常见形式。包括BufferedInputStream\/ BufferedOutputStream 类和BufferedReader\/ BufferedWriter类。BufferedReader从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。缓存流是过滤流,在创建具体流时需要给出一个Input...

Java 中 BufferedReader 里 readLine()方法每次只能读一行 能不能一次...
readLine顾名思义,每次读取一行,一般用于文件解析。可以自己封装一个读取到文件末尾的函数。比如:StringBuffer content= new StringBuffer();BufferedReader reader = new BufferedReader(in);int ch;while ((ch = reader.read()) != -1) {content.append((char) ch);}reader.close();return ...

求详解(java) BufferedReader sin = new BufferedReader(new InputSt...
实际上就是如下代码:InputStream is = System.in;\/\/键盘输入流InputStreamReader isr = new InputStreamReader(is);\/\/字节流转换为字符流BufferedReader bufr = new BufferedReader(isr);\/\/把字符流添加到缓冲流

java中bufferreader的使用方法
import java.io.BufferedReader;import java.io.InputStreamReader;public class Main {public static void main(String[] args) throws Exception {String str;int a;BufferedReader br = new BufferedReader(new InputStreamReader(System.in));\/\/读取一行字符串str = br.readLine();\/\/将字符转化为...

相似回答