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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 复仇的撒旦 中级黑马   /  2015-3-27 22:47  /  750 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.*;
  2. class  BufferCopy
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 BufferedWriter  bufw=null;
  7.                 BufferedReader  bufd  =null;
  8.                 try
  9.                 {       
  10.                   bufd  =  new  BufferedReader(new  FileReader("FileWriterDemo3.java"));  //关联要读取的文件文件
  11.                   bufw  =  new  BufferedWriter(new FileWriter("FileWriterDemo_copy.txt")); //需要创建的文件
  12.                
  13.                 String  line = null;
  14.                 while((line=bufd.readLine())!=null)
  15.                         {
  16.                                 bufw.write(line);
  17.                                 bufw.newLine();
  18.                                 bufw.flush();
  19.                         }
  20.                 }

  21.                 catch(IOException e)
  22.                 {
  23.                         throw new  RuntimeException("读取异常");
  24.                 }

  25.                 finally
  26.                 {
  27.                         try
  28.                         {
  29.                                 if(bufw!=null)
  30.                                         bufw.close();
  31.                         }
  32.                         catch (IOException e)
  33.                         {
  34.                                 throw new  RuntimeException("读取异常");
  35.                         }
  36.                         try
  37.                         {
  38.                                 if(bufd!=null)
  39.                                         bufd.close();
  40.                         }
  41.                         catch (IOException e)
  42.                         {
  43.                                 throw new  RuntimeException("读取异常");
  44.                         }
  45.                 }

  46.                
  47.         }
  48. }
复制代码
就是用缓冲区复制文件,如果读取的文件和这段代码保存在同一个目录下,就没问题。但是没在同一个目录下就会报读取异常 ,这是怎么回事?

3 个回复

倒序浏览
因为你的文件路径没改吧? 都不在一个目录下自然用文件名就找不到咯,你用绝对路径就没问题了.
回复 使用道具 举报
你没有对"FileWriterDemo3.java"加绝对路径,加上该java文件所在的路径 ,你再试试(当然在同一个文件夹下,默认的可以不管)
回复 使用道具 举报
因为你的文件路径是相对路径,改成绝对路径就好啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马