2014-12-02 2 views
0

Мне нужна помощь при чтении строки за строкой из файла, затем введите его в класс. Моя идея такова: я сохранил все в текстовом файле, это около 500 строк, но это может измениться, поэтому я не читаю номер строки, а затем lnr/5, чтобы узнать, сколько раз мне нужно будет запустите цикл for. Я не хочу сначала брать линию 1,2,3,4,5 в объект, затем 6,7,8,9,10 и так далее. Так что в основном мне нужно, чтобы каждые 5 строк проходили в seperatley.Прочитать текстовый файл по строкам и сохранить его в классе?

Код:

public static void g_txt() { 
    LineNumberReader lnr; 
    String[] text_array = new String[500]; 
    int nu = 0; 
    try { 
     lnr = new LineNumberReader(new FileReader(new File("test.txt"))); 
     lnr.skip(Long.MAX_VALUE); 
     //System.out.println(lnr.getLineNumber()); 
     lnr.close(); 
     BufferedReader br = new BufferedReader(new FileReader("test.txt")); 
     String line; 
     while ((line = br.readLine()) != null) { 
      text_array[nu] = line; 
      nu++; 
     } 
    } catch (IOException e) { 
    } 


} 

, как вы можете видеть, я теперь в массив. Теперь мне нужно это сделать так 1,2,3,4,5 и так далее идти к этому:

filmer[antalfilmer] = new FilmSvDe(line1); 
filmer[antalfilmer].s_filmbolag(line2); 
filmer[antalfilmer].s_producent(line3); 
filmer[antalfilmer].s_tid(line4); 
filmer[antalfilmer].s_betyg(line5);  
filmer[antalfilmer].s_titel(line1); 

затем antalfilmer ++.

+0

какой у вас вопрос/проблема? – mschenk74

+0

Я понятия не имею, как это сделать, он разбивается, как будто я получаю 1,2,3,4,5, затем начинаю с 6 и переходим к 10, затем от 10 до 15 и так далее. – Denniz

ответ

0
public static void g_txt() { 
    String[] text_array = new String[5]; 
    int nu = 0; 
    try { 
     BufferedReader br = new BufferedReader(new FileReader("test.txt")); 
     String line; 
     while ((line = br.readLine()) != null) { 
      text_array[nu] = line; 
      nu++; 
      if (nu == 5) { 
       nu = 0; 
       makeObject(text_array); 
      } 
     } 
    } catch (IOException e) { 
    } 

} 

private static void makeObject(String[] text_array) { 
    // do your object creation here 
    System.out.println("_________________________________________________"); 
    for (String string : text_array) { 
     System.out.println(string); 
    } 
    System.out.println("_________________________________________________"); 
} 

Попробуйте это.

+0

Спасибо! Отлично работает !!! – Denniz

+1

Какова цель LineNumberReader здесь? – mschenk74

+0

Его фактически бесполезно, принял код из Вопроса. Я отредактирую. –

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