首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于io流,该怎么解决

2012-06-10 
关于io流一个简单的程序Java codepublic class BufferedStream {public static void main(String[] args)

关于io流
一个简单的程序

Java code
public class BufferedStream {    public static void main(String[] args) throws IOException {        FileReader fs=new FileReader("f:\\myjavacode\\Exa.java");        BufferedReader bs=new BufferedReader(fs);        while(bs.readLine()!=null){            String s=bs.readLine();            System.out.println(s);            }    }}


我的Exa.java文件的内容就是1111111
  2222222
  3333333
  4444444
  5555555
  6666666

运行时它的结果显示为2222222
  4444444
  6666666

它是跳着读的,我的理解是它应该全部打出来阿,readline()读出一行然后打印出来,不应该是跳行读的.求解

[解决办法]
Java code
while((string=bs.readLine())!=null){   System.out.println(string);}
[解决办法]
Java code
 while(bs.readLine()!=null){            String s=bs.readLine();            System.out.println(s);            }是这样的当执行bs.readLine()!=null时bs.readLine();的返回值是文章第一行字符String s=bs.readLine();很显然到这句readLIne();方法已调用两次,s值为文章第二行。所以就出现了不想看到的结果。楼主这样改:public class BufferedStream {    public static void main(String[] args) throws IOException {        FileReader fs=new FileReader("f:\\myjavacode\\Exa.java");        BufferedReader bs=new BufferedReader(fs);         String s = "";        while ((s = bs.readLine()) != null) {            System.out.println(s);        }    }} 

热点排行