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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 秦兰之 于 2013-8-13 18:02 编辑

系统找不到指定的文件,Eclipse下,该把文件放在那里?
  1. package Stream;
  2. import java.io.*;

  3. public class  TransStreamDemo{
  4.         
  5.         
  6.         public static void main(String[] args) throws IOException
  7.         {
  8.                
  9.                 System.setIn(new FileInputStream("PersonDemo.java"));               
  10.                
  11.                 System.setOut(new PrintStream("zzz.txt"));
  12.                
  13.                 //键盘的最常见写法。
  14.                 BufferedReader bufr=
  15.                                 new BufferedReader(new InputStreamReader(System.in));
  16.                
  17.                 BufferedWriter bufw=
  18.                                 new BufferedWriter(new OutputStreamWriter(System.out));
  19.                  
  20.                 String line=null;
  21.                
  22.                 while((line=bufr.readLine())!=null){
  23.                         
  24.                         if("over".equals(line))
  25.                                 
  26.                                 break;                                       
  27.                         
  28.                         
  29.                                 bufw.write(line.toUpperCase());
  30.                                 bufw.newLine();
  31.                                 bufw.flush();               
  32.                                                 
  33.                 }
  34.                 bufr.close();

  35.         }

  36. }
复制代码
百度了,看不懂,谁能告诉我该把文件放在那里才能让系统找到?这相对路径,绝对路径也解释一下?

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 神马都是浮云

查看全部评分

6 个回复

倒序浏览
可以在eclipse的项目中建立个files文件,然后将所需要的文件存进去,引用的话可以这样:files/***.png像这样。

绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。
相对路径:相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在、Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1

查看全部评分

回复 使用道具 举报 1 0
把 System.setIn(new FileInputStream("D:/PersonDemo.java")); 这样应该就可以找到文件了。 你使用的FileInputStream 构造方法是
FileInputStream(String name) API 写:通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
所以这个路径所指的文件必须的存在你就的D盘手动建一个。 如果你想通过代码指定路径 那你就通过File 创建一个文件。FileInputStream(File file)也可以传入一个File 对象。System.setOut(new PrintStream("D:/zzz.txt"));和FileInputStream 对于路径上基本差不多。

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1

查看全部评分

回复 使用道具 举报
系统找不到文件有两种情况,一种是创建文件时所指定的文件路径在系统中本身就不存在;另一种是系统中有和创建文件时指定的参数路径相匹配的路径,却没有找到文件,原因是文件根本就不存在。。

如果是文件路径问题,可以按照一楼sergio所说的建立合适的文件路径。
如果是第二种情况,简单的解决方式是将所要读入的文件PersonDemo.java拷贝到工程的根目录下,再在根目录下创建一个zzz.txt文件,便能解决系统找不见路径的问题,而不需要修改程序。。

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1

查看全部评分

回复 使用道具 举报
柳小龙 发表于 2013-8-13 17:07
系统找不到文件有两种情况,一种是创建文件时所指定的文件路径在系统中本身就不存在;另一种是系统中有和创 ...

原来是这样,终于解决了,跪谢。
回复 使用道具 举报
哥们,听说你今天走运啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马