尝试学习如何用Java读取文本文件。我已将文本文件放在与IdealWeight.java相同的文件夹中。我在这里错过了什么吗?
IdealWeight.java
package idealweight;
import java.util.*;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class IdealWeight
{
public static void main(String[] args)
{
Scanner fileIn = null; //Initializes fileIn to empty
try
{
fileIn = new Scanner
(
new FileInputStream
("Weights.txt")
);
}
catch (FileNotFoundException e)
{
System.out.println("File not found!");
}
}
}
答案 0 :(得分:3)
您也可以将文件放在类路径中,然后执行以下操作:
InputStream in = this.getClass().getClassLoader()
.getResourceAsStream("Weights.txt");
只是另一个想法。
答案 1 :(得分:1)
java文件IO系统不会在与该类相同的目录中查找该文件,而是在应用程序的“default”目录中查找。您运行的任何应用程序都有一个它视为默认目录的目录,并且它将尝试打开此文件。尝试将完整路径名放到文件中。
或者将要读取的文件放在目录中,然后使用“java IdealWeight”从该目录(在终端窗口中)运行应用程序。
答案 2 :(得分:0)
您需要将 Weights.txt 放在工作目录中,而不是放在包含源文件的目录中。如果您使用的是Eclipse或类似的IDE,则可能是项目根目录。根据{{3}},您可以使用此代码段获取工作目录的完整路径:
System.out.println("Working Directory = " + System.getProperty("user.dir"));
检查运行该命令的结果,并告诉您文本文件的放置位置。一旦你将文本文件放在正确的位置,那么你发布的代码应该可以正常工作。