调用方法以使用BufferedReader从文本文件中读取

时间:2013-06-16 22:13:31

标签: bufferedreader java-io

我四处寻找,但我找不到灵魂。

抱歉我的描述不好。我不是很擅长这个。

我有一个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();

}

2 个答案:

答案 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();
    }