import java.io.*; import java.util.Scanner; public class FileInputOutput { public static void main(String[] args) { String[] fileContents = getFileContents("nums.txt"); // print contents for (int i = 0; i < fileContents.length; i++) { System.out.println("Line " + i + ": " + fileContents[i]); } // write to file writeArrayToFile("output.txt", fileContents); // sum values System.out.println("The sum of the values is " + sumIntegers(fileContents)); } // add all numbers in the array public static int sumIntegers(String[] array) { int sum = 0; /* write missing code here */ return sum; } // read file into array public static String[] getFileContents(String fileName) { String[] contents = null; int count = 0; try { // first pass: count lines Scanner scanner = new Scanner(new File(fileName)); while (scanner.hasNextLine()) { scanner.nextLine(); count++; } scanner.close(); // create array contents = new String[count]; // second pass: read lines scanner = new Scanner(new File(fileName)); for (int i = 0; i < count; i++) { contents[i] = scanner.nextLine(); } scanner.close(); } catch (Exception e) { System.out.println("File Input Error"); } return contents; } // write array to file public static void writeArrayToFile(String fileName, String[] array) { try { PrintWriter writer = new PrintWriter(fileName); for (int i = 0; i < array.length; i++) { writer.println(array[i]); } writer.close(); } catch (Exception e) { System.out.println("File Output Error"); } } }