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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈国柱 中级黑马   /  2013-9-17 17:15  /  1400 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈国柱 于 2013-9-18 12:38 编辑

java文件移植到MyEclipse后,定义为当前目录下的文件为什么会获取不了的呢?FileReader fr = new FileReader("CopyTextByBuf.java");//运行后提示“Exception in thread "main" java.io.FileNotFoundException: CopyTextByBuf.java (系统找不到指定的文件。)”,我的包下面明明有这个文件的喔,怎么还是提示找不到文件的呢?不过使用绝对路径就没有问题的,有没有办法使得相对路径也可以运行通过呢?
  1. package day18to21;

  2. import java.io.*;

  3. class MyLineNumberReader extends MyBufferedReader//优化下面注释的代码
  4. {
  5.         private FileReader r;
  6.         private int lineNumber;

  7.         MyLineNumberReader(FileReader r)
  8.         {
  9.                 super(r);//继承父类
  10.         }

  11.         public String myReadLine() throws IOException
  12.         {
  13.                 lineNumber++;
  14.                 return super.myReadLine();//继承父类
  15.         }

  16.         public void setLineNumber(int lineNumber)
  17.         {
  18.                 this.lineNumber = lineNumber;
  19.         }
  20.         public int getLineNumber()
  21.         {
  22.                 return lineNumber;
  23.         }
  24.         

  25. }

  26. /*
  27. */

  28. public class MyLineNumberReaderDemo
  29. {
  30.         public static void main(String[] args) throws IOException
  31.         {
  32.                 FileReader fr = new FileReader("CopyTextByBuf.java");//运行后提示“Exception in thread "main" java.io.FileNotFoundException: CopyTextByBuf.java (系统找不到指定的文件。)”,我的包下面明明有这个文件的喔,怎么还是提示找不到文件的呢?不过使用绝对路径就没有问题的,有没有办法使得相对路径也可以运行通过呢?

  33.                 MyLineNumberReader mylnr = new MyLineNumberReader(fr);

  34.                 String line = null;
  35.                 mylnr.setLineNumber(100);
  36.                 while ((line=mylnr.myReadLine())!=null)
  37.                 {
  38.                         System.out.println(mylnr.getLineNumber()+"::"+line);
  39.                 }
  40.                 mylnr.myClose();
  41.         }
  42. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

5 个回复

倒序浏览
只给 文件名的时候会默认到工程的根目录下寻找这个文件,和src是同一层的,你试一下吧
回复 使用道具 举报
本帖最后由 狼人→浪人 于 2013-9-17 19:56 编辑

抱歉刚才发发错题了,还好及时发现
回复 使用道具 举报
麦子609 发表于 2013-9-17 18:45
只给 文件名的时候会默认到工程的根目录下寻找这个文件,和src是同一层的,你试一下吧 ...

试过,真是这样,不过感觉这样很麻烦,特别是要访问在同一个文件夹里面的java文件,有没有方法设置为默认访问到src目录下的?
回复 使用道具 举报
  1. InputStream stream=Thread.currentThread().getContextClassLoader().getResourceAsStream("CopyTextByBuf.java");
复制代码
试一下这句话

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报

返回的好像是空的,将其变成字符串后,总是出现空指针异常
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马