我需要将一个整数的.txt文件读入一个二维数组但是当我尝试读入该文件时,我得到一个符文时间错误,指出找不到指定的文件。这是我第一次尝试阅读文件,所以我只需要指导如何做,但我找不到这个基本的答案。
我有一个名为" num1.txt"的整数文件。保存在与我的java文件相同的文件夹中,所以我想知道我是否不理解eclipse和java如何决定文件的位置。
public static void main(String[] args) throws FileNotFoundException
{
int i;
int j;
i=0;
j=0;
int connect4Array[][] = new int[6][7];
Scanner readFile = new Scanner(new File("num1.txt"));
while(readFile.hasNextInt())
{
for(i=0;i<connect4Array.length;i++)
{
connect4Array[i++][j]=readFile.nextInt();
for(j=0;j<connect4Array[j].length;j++)
{
connect4Array[i][j++]=readFile.nextInt();
}
}
}
答案 0 :(得分:1)
首先,它不是编译错误。这是一个运行时错误。你需要了解差异......并说出正确的事情,否则人们不会理解你在说什么。
我有一个名为&#34; num1.txt&#34;的整数文件。保存在与我的java文件相同的文件夹中。
问题是您正在尝试访问正在运行的应用程序的当前目录中的文件...但当前目录不是您认为/希望它的位置。
那么应用程序的当前目录在哪里?这取决于你运行应用程序的方式!
如果从shell运行java应用程序,则当前目录将默认为shell的当前目录。
您可以在运行cd
之前按java ...
更改它,我认为您也可以使用-Duser.dir=<pathname>
指定它。
如果从Eclipse运行java应用程序,则当前目录将默认为项目目录。这可能与包含源代码的目录不同。
您可以在Eclipse设置中为应用程序的启动器指定不同的当前目录。
或者,使用文件的绝对路径,或将其放入应用程序的JAR文件中,并将其作为&#34;资源&#34;。
答案 1 :(得分:0)
将文件移动到src文件夹所在的位置。
因为默认是工作区中的项目目录。
您可以使用getProperty检查当前目录。
String CurrentDir = System.getProperty(&#34; user.dir&#34;); System.out.println(&#34;当前工作目录:&#34; + CurrentDir);