黑马程序员技术交流社区

标题: 关于IO复制文本的问题 [打印本页]

作者: 毅心缘    时间: 2014-5-30 12:15
标题: 关于IO复制文本的问题
本帖最后由 毅心缘 于 2014-6-2 13:22 编辑

执行程序后,新的文本出现了,可是文本为空。
  1. public class CopyText {
  2.         public static void main(String[] args) throws IOException {
  3.                 copy_1();
  4.         }

  5.         public static void copy_1() throws IOException {
  6.                 FileWriter fw = new FileWriter("FileWriterDemo1_copy.txt");

  7.                 FileReader fr = new FileReader(FileWriterDemo1.java);

  8.                 int ch = 0;
  9.                 while ((ch = fr.read()) != -1) {
  10.                         fw.write(ch);
  11.                 }
  12.                 fw.close();
  13.                 fr.close();
  14.         }
  15. }
复制代码

作者: 90后丶小辉    时间: 2014-5-30 12:35
FileReader fr = new FileReader(FileWriterDemo1.java);这里不会报错?
作者: SyouRai_Tsk    时间: 2014-5-30 12:39
字符流要刷新!
作者: 毅心缘    时间: 2014-5-30 13:49
90后丶小辉 发表于 2014-5-30 12:35
FileReader fr = new FileReader(FileWriterDemo1.java);这里不会报错?

没有报错啊
作者: 张百振    时间: 2014-5-30 14:01
  1. package Test;

  2. import java.io.FileReader;
  3. import java.io.FileWriter;
  4. import java.io.IOException;

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

  9.         public static void copy_1() throws IOException {
  10.                 FileWriter fw = new FileWriter("FileWriterDemo1_copy.txt");

  11.                 // FileReader fr = new FileReader(FileWriterDemo1.java);
  12.                 // FileRader构造方法有传一个"FileWriterDemo1.java"的东西吗?
  13.                 FileReader fr = new FileReader("FileWriterDemo1.java");

  14.                 int ch = 0;
  15.                 while ((ch = fr.read()) != -1) {
  16.                         fw.write(ch);
  17.                         // 再加上你没有刷新流对象
  18.                         fw.flush();
  19.                 }

  20.                 fw.close();
  21.                 fr.close();
  22.         }
  23. }
复制代码



作者: 毅心缘    时间: 2014-5-30 14:19
张百振 发表于 2014-5-30 14:01

谢谢。我知道了。 FileReader fr = new FileReader("FileWriterDemo1.java");忘记加双引号了
作者: 宋健敏    时间: 2014-5-30 14:28
毅心缘 发表于 2014-5-30 13:49
没有报错啊

这里不会报错的,因为你创建一个文件FileWriterDemo1.java的时候,没有给它指定一个文件路径,系统会默认给它一个文件路径的。但是那样你很难找到它是默认在放在哪里。所以最好给它指定一个路径
FileReader fr = new FileReader(D:\FileWriterDemo1.java);//养成良好的编程习惯




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