import java.util.*; import java.io.*; public class ReadWithScannerAndWriteCSV { public static void main(String []args) { TelephoneNumber[] numbers; numbers = readTelephoneNumbers("telephone-list.txt"); printTelephoneNumbers(numbers); writeTelephoneNumbers2CSVfile(numbers, "contacts.csv"); } 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; } public static void writeTelephoneNumbers2CSVfile(TelephoneNumber[] numbers, String filename) { try(PrintWriter writer = new PrintWriter(filename)) { for(TelephoneNumber number : numbers) { writer.format("%d, %s\n", number.getNumber(), number.getName()); } } catch(FileNotFoundException ex) { System.out.format("Unable to open file '%s' for writting!\n", filename); } } }