2014-10-26 2 views
-1

У меня есть этот класс FileIO, который читает .txt-файл и сохраняет их в String ArrayList. Однако, когда я пытался распечатать содержимое моего массива, он кажется пустым. Где я сделал ошибку?Чтение файла и сохранение в ArrayList

public class FileIO 
{ 
    public ArrayList<String> readFile() throws IOException 
    { 
     ArrayList<String> al = new ArrayList<String>(); 
     try 
     { 
      File file = new File("example.txt"); 
      FileReader fileReader = new FileReader(file); 
      BufferedReader bufferedReader = new BufferedReader(fileReader); 

      String line; 
      while ((line = bufferedReader.readLine()) != null) 
      { 
       al.add(line); 
      } 
      fileReader.close(); 
     } 
     catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
     System.out.println(); 

     for (int i = 0; i < al.size(); i++) 
     { 
      System.out.println(al.get(i)); 
     } 

     return al; 
    } 
} 

public class Main 
{ 
    public static void main(String[] args) 
    { 
     FileIO fileIO = new FileIO(); 
     ArrayList<String> temp = fileIO.readFile();  
    } 
} 

Содержимое моего текстового файла просто:

this is text1 
this is text2 
this is text3 
+0

Вы видите какую-либо ошибку или исключение на консоль я не вижу никакой проблемы с кодом выше, если у вас есть пустой файл или файл не является в файле или классах – SMA

+0

Вместо того, чтобы пытаться ответить, я попытаюсь «научить человека ловить рыбу». Я предлагаю вам прочитать превосходный класс Eric Lipper [Как отлаживать небольшие программы] (http://ericlippert.com/2014/03/05/how-to-debug-small-programs /), после чего вы, вероятно, узнаете ответ на свой вопрос и, еще лучше, сможете найти ответы на подобные проблемы в будущем. –

+0

@almasshaikh nope. нет исключений. – John

ответ

0

Наиболее вероятная причина не получение данных является то, что вы не установили путь к файлу правильно. И ниже строка не нужна для этого.

Файл файла = новый файл ("example.txt");

Вы можете напрямую создать объект FileReader из имени файла, как показано ниже.

FileReader FileReader = новый FileReader ("example.txt)?

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