import java.io.*; import java.util.Scanner; public class FruitsDemo{ private static Scanner fileScanner; private static Scanner inputScanner; // data per line private static String fruitName; private static String fruitType; private static float cost; private static String unit; public static void main(String[] args) { MakeScanners(); fileScanner.nextLine(); while (GetNextData()) { System.out.printf("%s costs $%.2f %s\n", fruitName, cost, unit); } fileScanner.close(); } private static boolean GetNextData() { boolean validData = false; if (fileScanner.hasNext()){ String data = fileScanner.nextLine(); String[] dataItems = data.split(","); fruitName = dataItems[0]; fruitType = dataItems[1]; cost = Float.parseFloat(dataItems[2]); unit = dataItems[3]; validData = true; } return validData; } private static void MakeScanners(){ inputScanner = new Scanner(System.in); String fileName; boolean fileOpen = false; do { System.out.printf("Enter a file name => "); fileName = inputScanner.next(); System.out.println(); try { fileScanner = new Scanner(new File(fileName)); fileOpen = true; } catch (FileNotFoundException e) { System.out.printf("Error could not open the file %s\n",fileName); } } while(!fileOpen); } }