黑马程序员技术交流社区

标题: IO拷贝读写问题异常 [打印本页]

作者: 李勇    时间: 2012-8-5 17:09
标题: IO拷贝读写问题异常
  1. import java.io.*;
  2. public class IO流_拷贝文本文件
  3. {
  4. public static void main(String[] args) throws IOException
  5. {
  6. copy_2();
  7. }
  8. public static void copy_2()throws IOException
  9. {
  10. FileWriter fw = null;
  11. FileReader fr = null;
  12. try
  13. {
  14. fw = new FileWriter("IO流_文本文件读取方式二_数组_copy.txt");
  15. fr = new FileReader("IO流_文本文件读取方式二_数组.java");

  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 (IOException 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. }

  48. 这代码有问题吗  运行后  指产生了 txt文件 并且里面无任何内容
  49. Exception in thread "main" java.lang.RuntimeException: 读写失败
  50. at day18.IO流_拷贝文本文件.copy_2(IO流_拷贝文本文件.java:40)
  51. at day18.IO流_拷贝文本文件.main(IO流_拷贝文本文件.java:19)

  52. 没有完成 写的功能  请问哪有问题
复制代码

作者: 黑马振鹏    时间: 2012-8-5 17:30
代码我测试了没问题,是不是文件有问题?
作者: 张雪磊    时间: 2012-8-5 17:42
这段代码没有问题,我把你读写的文件名改成绝对路径完全没问题,你可以这么试试
import java.io.*;
public class IO
{
public static void main(String[] args) throws IOException
{
copy_2();
}
public static void copy_2()throws IOException
{
FileWriter fw = null;
FileReader fr = null;
try
{
fw = new FileWriter("E:\\IO流_文本文件读取方式二_数组_copy.txt");
fr = new FileReader("E:\\IO流_文本文件读取方式二_数组.java");//把这个路径设成你要复制的文件所在的绝对路径,或者把文件复制到E盘下

char[] buf = new char[1024];

int len = 0;
while((len=fr.read(buf))!=-1)
{
fw.write(buf,0,len);
}
}
catch (IOException e)
{
throw new RuntimeException("读写失败");
}
finally
{
if(fr!=null)
try
{
fr.close();
}
catch(IOException e)
{

}
if(fw!=null)
try
{
fw.close();
}
catch(IOException e)
{

}
}
}
}





作者: 张雪磊    时间: 2012-8-5 17:42
这段代码没有问题,我把你读写的文件名改成绝对路径完全没问题,你可以这么试试
import java.io.*;
public class IO
{
public static void main(String[] args) throws IOException
{
copy_2();
}
public static void copy_2()throws IOException
{
FileWriter fw = null;
FileReader fr = null;
try
{
fw = new FileWriter("E:\\IO流_文本文件读取方式二_数组_copy.txt");
fr = new FileReader("E:\\IO流_文本文件读取方式二_数组.java");//把这个路径设成你要复制的文件所在的绝对路径,或者把文件复制到E盘下

char[] buf = new char[1024];

int len = 0;
while((len=fr.read(buf))!=-1)
{
fw.write(buf,0,len);
}
}
catch (IOException e)
{
throw new RuntimeException("读写失败");
}
finally
{
if(fr!=null)
try
{
fr.close();
}
catch(IOException e)
{

}
if(fw!=null)
try
{
fw.close();
}
catch(IOException e)
{

}
}
}
}









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