A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李勇 初级黑马   /  2012-8-5 17:09  /  1502 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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 18:24

3 个回复

倒序浏览
代码我测试了没问题,是不是文件有问题?
回复 使用道具 举报
这段代码没有问题,我把你读写的文件名改成绝对路径完全没问题,你可以这么试试
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)
{

}
}
}
}




回复 使用道具 举报
这段代码没有问题,我把你读写的文件名改成绝对路径完全没问题,你可以这么试试
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)
{

}
}
}
}




回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马