Question: package writefiles; import java.util.*; import java.io.*; import javax.swing.*; import javax.swing.JFileChooser; import javax.swing.JOptionPane; public class WriteFiles { private static Formatter output; private static Scanner input; public

package writefiles;

import java.util.*; import java.io.*; import javax.swing.*; import javax.swing.JFileChooser; import javax.swing.JOptionPane;

public class WriteFiles { private static Formatter output; private static Scanner input; public static void main(String[] args) { ArrayList coursesList = new ArrayList(); writeTextFile(); readTextFile(coursesList); for (Courses c: coursesList){ System.out.println(c.toString()); } writeSerFile(coursesList); readSerFile(); } public static void writeTextFile(){ try { Formatter output = new Formatter("courses.txt"); output.format("%s;%s;%s;%d;%d%n","Python", "INSY 3300", "560-650 MW", 1, 3); output.format("%s;%s;%s;%d;%d%n","Networking", "INSY 3303", "530-650 TR", 1, 3); output.format("%s;%s;%s;%d;%d%n","DBMS", "INSY 3304", "900-950 MWF", 1, 3); output.format("%s;%s;%s;%d;%d%n","Analysis&Design", "INSY 3305", "700-820 TR", 1, 3); output.format("%s;%s;%s;%d;%d%n","Java I", "INSY 4305", "700-820 TR", 1, 3); output.format("%s;%s;%s;%d;%d%n","Java II", "INSY 4306", "530-650 TR", 1, 3); output.format("%s;%s;%s;%d;%d%n","Mobile App", "INSY 4308", "200-320 TR", 1, 3); output.format("%s;%s;%s;%d;%d%n","Web Development", "INSY 4315", "1000-1050 MWF", 1, 3); output.format("%s;%s;%s;%d;%d%n","Resource Management", "INSY 4325", "100-220 TR", 1, 3); } catch(IOException ioe){ ioe.printStackTrace(); } } public static void readTextFile(ArrayList coursesList){ String line; String values[]; try{ input = new Scanner(getFile()); while(input.hasNext()) { line = input.nextLine(); values = line.split(";"); coursesList.add(new Courses(values[0], values[1], values[2]), Integer.parseInt(values[3],Integer.parseInt(values[4]))); } } catch (IOException ioe){ ioe.printStackTrace(); } } public static void writeSerFile(ArrayListcoursesList){ ObjectOutputStream output; try{ output = new ObjectOutputStream(new FileOutputStream("courses.ser")); for (Courses c: coursesList){ output.writeObject(c); } } catch(IOException ioe){ ioe.printStackTrace(); } } public static void readSerFile(){ ObjectInputStream input; Courses obj; try{ input = new ObjectInputStream(new FileInputStream(getFile())); while(true){ obj = (Courses)input.readObject(); System.out.println(obj.toString()); } } catch(EOFException eof){ } catch(ClassNotFoundException cnfe){ cnfe.printStackTrace(); } catch(IOException ioe){ ioe.printStackTrace(); } } public static File getFile() { JFileChooser fileChooser = new JFileChooser(); fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); int result = fileChooser.showOpenDialog(null); if (result == JFileChooser.CANCEL_OPTION){ System.exit(1); } File fileName = fileChooser.getSelectedFile(); if ((fileName == null) || (fileName.getName().equals(""))){ JOptionPane.showMessageDialog(null, "Invalid Option", "Invalid Option", JOptionPane.ERROR_MESSAGE); System.exit(1); } return fileName; } }

**************************

/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package writefiles;

import java.io.*;

public class Courses implements Serializable { private String title; private String prefixNumber; private String timeDay; private int sectionNumber; private int creditHours; public Courses(String title, String prefixNumber, String timeDay, int sectionNumber, int creditHours){ this.title = title; this.prefixNumber = prefixNumber; this.timeDay = timeDay; this.sectionNumber = sectionNumber; this.creditHours = creditHours; } public Courses() { setTitle(""); setPrefixNumber(""); setTimeDay(""); setSectionNumber(0); setCreditHours(0); }

public String getTitle() { return title; }

public String getPrefixNumber() { return prefixNumber; }

public String getTimeDay() { return timeDay; }

public int getSectionNumber() { return sectionNumber; }

public int getCreditHours() { return creditHours; }

public void setTitle(String title) { this.title = title; }

public void setPrefixNumber(String prefixNumber) { this.prefixNumber = prefixNumber; }

public void setTimeDay(String timeDay) { this.timeDay = timeDay; }

public void setSectionNumber(int sectionNumber) { this.sectionNumber = sectionNumber; }

public void setCreditHours(int creditHours) { this.creditHours = creditHours; }

@Override public String toString() { return "Courses{" + "title=" + title + ", prefixNumber=" + prefixNumber + ", timeDay=" + timeDay + ", sectionNumber=" + sectionNumber + ", creditHours=" + creditHours + '}'; } }

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!