public class ReadWithScanner { public static void main(String []args) { TelephoneNumber[] numbers; numbers = readTelephoneNumbers("telephone-list.txt"); printTelephoneNumbers(numbers); } public static void printTelephoneNumbers(TelephoneNumber[] numbers) { for(TelephoneNumber number : numbers) { System.out.println(number); } } public static TelephoneNumber[] readTelephoneNumbers(String filename) { String firstname, lastname; long number; int i=0; TelephoneNumber numbers[] = new TelephoneNumber[5]; try(Scanner sc = new Scanner(new File(filename))) { while( sc.hasNext() ) { firstname = sc.next(); lastname = sc.next(); number = sc.nextLong(); numbers[i++] = new TelephoneNumber(firstname+" "+lastname, number); } } catch(InputMismatchException ex) { System.out.println("Invalid file contents!"); } catch(FileNotFoundException ex) { System.out.println("Unable to open '"+filename+"'"); } return numbers; } }