Question: package test.population; import java.io.*; import java.text.NumberFormat; import java.util.Map; import java.util.SortedSet; import java.util.TreeSet; import java.util.HashMap; public class PopProcessRead { public static void main(String[] args) { try

package test.population;

import java.io.*; import java.text.NumberFormat; import java.util.Map; import java.util.SortedSet; import java.util.TreeSet; import java.util.HashMap;

public class PopProcessRead { public static void main(String[] args) { try { DataInputStream input = new DataInputStream(new BufferedInputStream(new FileInputStream (new File ("C://code//output.dat")))); PopProcessRead processor = new PopProcessRead(); Map thePopulationMap = processor.readFromFile(input); processor.displayToConsole(thePopulationMap); } catch (Exception error) { System.out.println("ERROR: Error in reading the binary file!"); } } private Map readFromFile(DataInputStream input) throws Exception { System.out.println(" =====================reading output.dat================ "); Map thePopulationMap = new HashMap(); while(input.available() != 0) { String state = input.readUTF(); long totPop = input.readLong(); long childPop = input.readLong(); long childPovertyPop = input.readLong(); PopData popD = new PopData(); popD.setTotPop(totPop); popD.setChildPop(childPop); popD.setChildPovertyPop(childPovertyPop); thePopulationMap.put(state, popD); } return thePopulationMap; // return thePopulationMap;

} private void displayToConsole(Map thePopulationMap) { System.out.println("State\tPopulation\tChild Population\tChild Poverty Population\t%Child Poverty"); SortedSet set = new TreeSet<>(thePopulationMap.keySet()); NumberFormat format = NumberFormat.getInstance(); format.setGroupingUsed(true); for (String state : set) { PopData popD = thePopulationMap.get(state); String line = String.format("%5s%15s%15s%25s%30.2f", state, format.format(popD.getTotPop()), format.format(popD.getChildPop()), format.format(popD.getChildPovertyPop()), ((double) popD.getChildPovertyPop() / (double) popD.getChildPop()) * 100); System.out.println(line); } }

}

Im getting an output of ERROR: Error in reading the binary file!

I am not sure why??

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!