黑马程序员技术交流社区

标题: 关于读取字符流操作问题 [打印本页]

作者: 谢威    时间: 2013-7-18 09:36
标题: 关于读取字符流操作问题
本帖最后由 谢威 于 2013-7-18 10:34 编辑

大家帮忙看下哪错了,显示找不到符号a
  1. import java.io.*;

  2. class CopyText  
  3. {
  4.         public static void main(String[] args) throws IOException
  5.         {
  6.                 Copy_2();
  7.         }

  8.         public static void Copy_2()
  9.         {
  10.                 FileReader fr = null;
  11.                 FileWriter fw = null;
  12.                 try
  13.                 {
  14.                         fr = new FileReader(a.txt);
  15.                         fw = new FileWriter(b.txt);

  16.                         char[] buf = new char[1024];

  17.                         int len = 0;
  18.                         while ((len=fr.read(buf))!=-1)
  19.                         {
  20.                                 fw.write(buf,0,len);
  21.                         }
  22.                 }
  23.                 catch (Exception e)
  24.                 {
  25.                         throw new RuntimeException("读写失败");
  26.                 }
  27.                 finally
  28.                 {
  29.                         if(fr!=null)
  30.                                 try
  31.                                 {
  32.                                         fr.close();
  33.                                 }
  34.                                 catch (IOException e)
  35.                                 {
  36.                                 }
  37.                         if(fw!=null)
  38.                                 try
  39.                                 {
  40.                                         fw.close();
  41.                                 }
  42.                                 catch (IOException e)
  43.                                 {
  44.                                 }
  45.                 }
  46.         }
  47. }
复制代码

作者: 陌路行者    时间: 2013-7-18 09:44
  1. package cn.itcast.interview;

  2. import java.io.*;

  3. class CopyText  
  4. {
  5.         public static void main(String[] args) throws IOException
  6.         {
  7.                 Copy_2();
  8.         }

  9.         public static void Copy_2()
  10.         {
  11.                 FileReader fr = null;
  12.                 FileWriter fw = null;
  13.                 try
  14.                 {
  15.                         fr = new FileReader<font color=("a.txt");//这里的路径写错了
  16.                         fw = new FileWriter<font color=("b.txt");//这里的路径写错了
  17.                         char[] buf = new char[1024];

  18.                         int len = 0;
  19.                         while ((len=fr.read(buf))!=-1)
  20.                         {
  21.                                 fw.write(buf,0,len);
  22.                         }
  23.                 }
  24.                 catch (Exception e)
  25.                 {
  26.                         throw new RuntimeException("读写失败");
  27.                 }
  28.                 finally
  29.                 {
  30.                         if(fr!=null)
  31.                                 try
  32.                                 {
  33.                                         fr.close();
  34.                                 }
  35.                                 catch (IOException e)
  36.                                 {
  37.                                 }
  38.                         if(fw!=null)
  39.                                 try
  40.                                 {
  41.                                         fw.close();
  42.                                 }
  43.                                 catch (IOException e)
  44.                                 {
  45.                                 }
  46.                 }
  47.         }
  48. }
复制代码

作者: tonygone    时间: 2013-7-18 09:49
FileReader(); FileWriter(); 应传入String型变量。
  1. import java.io.*;

  2. public class CopyText  
  3. {
  4.         public static void main(String[] args) throws IOException
  5.         {
  6.                 Copy_2();
  7.         }

  8.         public static void Copy_2()
  9.         {
  10.                 FileReader fr = null;
  11.                 FileWriter fw = null;
  12.                 try
  13.                 {
  14.                         fr = new FileReader("a.txt");
  15.                         fw = new FileWriter("b.txt");

  16.                         char[] buf = new char[1024];

  17.                         int len = 0;
  18.                         while ((len=fr.read(buf))!=-1)
  19.                         {
  20.                                 fw.write(buf,0,len);
  21.                         }
  22.                 }
  23.                 catch (Exception e)
  24.                 {
  25.                         throw new RuntimeException("读写失败");
  26.                 }
  27.                 finally
  28.                 {
  29.                         if(fr!=null)
  30.                                 try
  31.                                 {
  32.                                         fr.close();
  33.                                 }
  34.                                 catch (IOException e)
  35.                                 {
  36.                                 }
  37.                         if(fw!=null)
  38.                                 try
  39.                                 {
  40.                                         fw.close();
  41.                                 }
  42.                                 catch (IOException e)
  43.                                 {
  44.                                 }
  45.                 }
  46.         }
  47. }
复制代码

作者: 下雨天    时间: 2013-7-18 09:59
a.txt 没被你封装成路径 也不是字符串形式 所以会出错
你可以用File封装成路径或用" "引上就可以了
作者: 冒烟的芒果    时间: 2013-7-18 10:04
fr = new FileReader(a.txt);
fw = new FileWriter(b.txt);
这两句改成:
fr = new FileReader("a.txt");
fw = new FileWriter("b.txt");
作者: Xiacker    时间: 2013-7-18 12:30
fr = new FileReader(a.txt);fw = new FileWriter(b.txt);这两句里面的读写地址要加上引号("a.txt"),("b.txt"),如果你的地址不是在当前环境下,比如你要在d盘把a.txt复制到e盘,就这样写fr = new FileReader("d:\\a.txt");fw = new FileWriter("e:\\b.txt");因为是先读取,在写入,所以在d盘下必须存在a.txt这个需要读的文件,没有文件则读取不到,系统会报找不到指定文件。




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