黑马程序员技术交流社区

标题: io buffered复制文件问题 [打印本页]

作者: jing迪    时间: 2014-1-7 02:16
标题: io buffered复制文件问题
本帖最后由 jing迪 于 2014-1-8 15:08 编辑
  1. import java.io.BufferedReader;
  2. import java.io.BufferedWriter;
  3. import java.io.FileReader;
  4. import java.io.FileWriter;
  5. import java.io.IOException;

  6. public class BufferedDemo {

  7.         public static void main(String[] args) throws IOException {
  8.                 BufferedReader br = new BufferedReader(new FileReader("fw2.txt"));
  9.                 BufferedWriter bw = new BufferedWriter(new FileWriter("fw7.txt"));
  10.                

  11.                 char[] chs = new char[1024];
  12.                 int len = 0;
  13.                 while((len=br.read(chs))!=1){
  14.                         bw.write(chs,0,len);
  15.                         bw.flush();
  16.                 }
  17.                 bw.close();
  18.                 br.close();
  19.         }

  20. }
复制代码



这个代码报错
Exception in thread "main" java.lang.IndexOutOfBoundsException
        at java.io.BufferedWriter.write(BufferedWriter.java:178)
        at cn.itcast_03.BufferedDemo.main(BufferedDemo.java:19)
为啥呀??????
作者: 浮出一个美    时间: 2014-1-7 06:46
-1
while((len=br.read(chs))!=-1)

作者: 猎鹰tianya    时间: 2014-1-7 08:31
本帖最后由 猎鹰tianya 于 2014-1-7 08:33 编辑
函数read(char[] cbuf)返回读到的字符数,要是没读到内容则返回-1
  1.                 while ((len = br.read(chs)) != -1) {
  2.                         bw.write(chs, 0, len);
  3.                         bw.flush();

  4.                 }
复制代码


作者: 周志彬    时间: 2014-1-7 08:32
Exception in thread "main" java.lang.IndexOutOfBoundsException
        at java.io.BufferedWriter.write(BufferedWriter.java:178)
        at cn.itcast_03.BufferedDemo.main(BufferedDemo.java:19)
这个错误是说数组越界了

正确写法
              while((len=br.read(chs))!=-1){        //!=1改为!=-1因为当没有内                                   
                                                                 //容复制的时候返回的是-1
                        bw.write(chs,0,len);
                        bw.flush();
                }
作者: 黄晓鑫    时间: 2014-1-7 12:15
是-1 哥们
作者: jing迪    时间: 2014-1-8 15:08
汗   我咋说不对呢   看半天还 谢谢啦~!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2