如果我把文件放在某个地方,然后输入完整的文件位置,它可以正常工作,但我不希望它是那种方式。我只想让我的data.txt从当前目录中读取。Java File Scanner,找不到文本文件
错误是:java.io.FileNotFoundException:data.txt中(该系统找不到指定的文件)
我使用Eclipse,我试图把data.txt中的根文件夹中的项目,src和bin文件夹,没有任何作用。即使尝试从头开始创建文件作为Eclipse项目的一部分。仍然不会读为data.txt。这必须是我犯的一个愚蠢的错误,因为它可以在完整文件位置输入的情况下工作,但是这会杀死任何可移植性。
下面是代码的摘录。
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
//... more code
Scanner fileScanner=null;
double salary;
double commission;
double sales;
double stock;
try
{
fileScanner=new Scanner(new File("data.txt"));
while(fileScanner.hasNextLine())
{
int year=fileScanner.nextInt();
String type=fileScanner.next();
我试图避免发布所有的代码,因为它很长,但如果需要的话,请问,我会更新。
谢谢!
打印'System.getProperty(” user.dir“);'并查看目录是否是文件所在的目录。如果没有,请使用'getAbsolutePath()' – sam
@sam好吧,那样做了。真的很奇怪,不知何故我的driver.java文件正在从一个完全不同的项目工作。这怎么发生?某种设置?或者只是我的用户错误? – bnr32jason
检查[这里](http://stackoverflow.com/questions/1099300/whats-the-difference-between-getpath-getabsolutepath-and-getcanonicalpath)。它包含许多答案,可以以比我能在评论中回答更详细的方式回答你的问题。 – sam