Почему мой код считывает только последний элемент?
В моей программе я пытаюсь прочитать несколько типов навыков, хранящихся в текстовом файле, которые разделены один за другим.из 17 навыков мой код отображает только последнюю строку.
Что я уже пробовал:
// main program BufferedReader in = Skills.getSkill("/Users/natasha/IdeaProjects/CW02_w1698409/Skills.txt"); Skills skills= Skills.readSkill(in); while(skills != null) { skills = Skills.readSkill(in); } Skills.Skill(); Skills.print();
//skill class public static Skills readSkill(BufferedReader in) { String name; String optional; String short_desc; int stat_affinity; int rank; Skills next_Skill = null; String line = ""; String[] data; try { line = in.readLine(); } catch (IOException e) { System.out.println("I/O Exception");//un-inject language System.exit(0); } if (line != null ){ data = line.split("\t"); name = data[0]; optional = data[1]; short_desc = data[2]; stat_affinity = Integer.parseInt(data[3]); rank = Integer.parseInt(data[4]); return new Skills(name, optional, short_desc, stat_affinity, rank, next_Skill); } return null;}public static void print() { System.out.println("The name: "+name); System.out.println("The optional: "+optional); System.out.println("The short description: "+short_desc); System.out.println("The stat affinity: "+stat_affinity); System.out.println("The ranks: "+rank); System.out.println("The next skill: "+next_Skill); }public static BufferedReader getSkill(String name) { BufferedReader in = null; try { File file = new File(name); in = new BufferedReader(new FileReader(file)); } catch (FileNotFoundException e) { System.out.println("file does not exist"); System.exit(0); } return in; }
CPallini
Вы не показали нам ни полного кода, ни содержимого входного файла.