我四处寻找,但我找不到灵魂。
抱歉我的描述不好。我不是很擅长这个。
我有一个UI类 它称之为“乐透”课程。
那个lotto类构造函数被称为名为readData()的方法 readData正在使用BufferedReader
从文件中读取我没有收到错误消息,但它只是没有阅读。 它被困在BufferedReader fr = new BufferedReader ...并转到catch事物。
如果找不到文件问题,我将如何跟踪文件的位置。我使用eclipse,程序存储在我的USB上。我需要把它交给我的老师,所以我不能只放一个位置。是否有代码跟踪我的程序然后从该文件夹中获取文件?
这是使用的代码。
import java.io。*;
//contructor
public Lotto()
{
try
{
readData();
nc = new NumberChecker();
}
catch(IOException e)
{
System.out.println("There was a problem");
}
}
private void readData() throws IOException
{
//this method reads winning tickets date and pot from a file
BufferedReader file = new BufferedReader (new FileReader("data.txt"));
for(int i=0;i<5;i++)
{
System.out.println("in "+i);
winningNums[i] = file.readLine();
winningDates[i] = file.readLine();
weeksMoney[i] = Integer.parseInt(file.readLine());
System.out.println("out "+i);
}
file.close();
}
答案 0 :(得分:0)
如果您在此行代码中出现错误
BufferedReader file = new BufferedReader (new FileReader("data.txt"));
然后它可能是FileNotFoundException
确保data.txt文件与编译的.class文件位于同一文件夹中,而不是.java源文件。
最好在你的文件中使用正确的root。 C:\我\路径\ data.txt中
不要忘记\
答案 1 :(得分:0)
尝试在try catch中包围BufferedReader并查找找不到文件的异常以及IO异常。还可以尝试使用双反斜杠输入完全限定的路径名。
BufferedReader file;
try {
file = new BufferedReader (new FileReader("C:\\filepath\\data.txt"));
for(int i=0;i<5;i++)
{
System.out.println("in "+i);
winningNums[i] = file.readLine();
winningDates[i] = file.readLine();
weeksMoney[i] = Integer.parseInt(file.readLine());
System.out.println("out "+i);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}