2013-06-16 4 views
1

Я искал для этого, но я не мог найти ни одного слова.Вызов метода для чтения из текстового файла с помощью BufferedReader

Извините за мое плохое описание. Я не очень хорош в этом.

У меня есть пользовательский интерфейс Его вызов класса «лото».

Это классы лото конструктор вызывается метод с именем readData() readData читает из файла с помощью BufferedReader

Я не получаю сообщение об ошибке, но его просто не читать. Он застревает в BufferedReader fr = new BufferedReader ... и идет в ловушку.

Если в файле не найдена проблема, как бы я ее отслеживаю, где находится мой файл. Im, использующий eclipse, и программа хранится на моем usb. Мне нужно передать его моему учителю, поэтому я не могу просто разместить местоположение. Есть ли код, который отслеживает, где моя программа берет файл из этой папки?

Здесь используется код.

импорт 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

Какое исключение вы получаете? – MaVRoSCy

ответ

0

, если вы получите сообщение об ошибке в этой строке кода

BufferedReader file = new BufferedReader (new FileReader("data.txt")); 

Тогда это, вероятно, FileNotFoundException

Убедитесь, что файл data.txt находится в той же папке, что и скомпилирован .class, а не источник .java.

Лучше всего использовать правильный корень для вашего файла ex. C: \ My \ путь \ data.txt

И не забудьте \

+0

заключить неисправный код в try catch и дать исключение – MaVRoSCy

0

Try окружающий BufferedReader в попытке поймать и искать файл не найден исключений, а также исключение ввода-вывода. Также попробуйте ввести полное имя пути с двойной обратной косой чертой.

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(); 
    } 
+0

Если его файл не найден, попробуйте сделать так, чтобы он отслеживал, где находится мой файл. Im, использующий eclipse, и программа хранится на моем usb. Мне нужно передать его моему учителю, поэтому я не могу просто разместить местоположение. Есть ли код, который отслеживает, где моя программа берет файл из этой папки? Обычно я помещаю работы, но похоже, что это файл не найден. – RickeshM

+0

Эта ссылка может помочь. [Ссылка] (http://stackoverflow.com/questions/13592325/exception-in-thread-main-java-io-filenotfoundexception-error). вы должны убедиться, что ваш файл находится прямо под вашей папкой проекта. – sirFunkenstine

Смежные вопросы