我在Eclipse中创建了这个简单的程序:
import java.util.*;
import java.io.*;
public class prob1 {
public static void main(String[] args)
{
try
{
FileReader in = new FileReader("practice.in");
Scanner scanner = new Scanner(in);
while(scanner.hasNext())
{
int number = scanner.nextInt();
if(number==0)break;
int sum = 0;
for (int i=0; i<number; i++)
{
int x = scanner.nextInt();
sum += x;
}
System.out.println("Sum = "+sum);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}我还有一个"practice.in“文件和这个practice.java文件在同一个文件夹中(Eclipse中的src文件夹)。
但是,当我尝试运行它时,它永远找不到它。当practice.in与java文件在同一目录中时,我可以简单地执行FileReader("practice.in"),eclipse对这些路径做了什么?这和我的工作目录有关吗?
发布于 2009-10-23 06:16:18
eclipse中的默认文件夹是项目根目录,而不是src文件夹。您需要移动文件或指定“src/practie.in”的相对路径。
发布于 2009-10-23 06:58:55
如果practice.in级别与java文件的目录级别相同,则还可以使用Class.getResourceAsStream()](http://java.sun.com/javase/6/docs/api/java/lang/Class.html#getResourceAsStream(java.lang.String%29%29)
InputStream steam = prob1.class.getResourceAsStream("practice.in");
Scanner scanner = new Scanner(stream);
...无论您在何处调用java文件,这都会起作用。
发布于 2009-10-23 06:20:19
Java将相对于运行java命令的目录访问该文件,该目录是您的项目根目录。因此,您必须提供该文件的完整路径,从项目根开始。
此外,如果您是Spring库,则可以使用应用程序上下文在类路径中的任何位置查找具有给定名称的文件。
https://stackoverflow.com/questions/1610287
复制相似问题