import java.util.*; import java.io.*; public class Scheduler { //Address of File name relative to code. Replace with request for filename? String fileName = "datafiles/datafile2.txt"; //Initialise Processes. Assumes max of 10. Process[] p = new Process[10]; private int processCount = -1; //Initialise Array for Random numbers. Assumes max of 50. int[] randomNum = new int[50]; int randomNumLength = -1; /** * Main. Runs the program */ public static void main(String[] args){ Scheduler system = new Scheduler(); system.run(); } /** * Run. Most of the program starts from here. */ public void run() { readFile(fileName); //Read the file //Test Print for (int i = 0; i <= randomNumLength; i++) { System.out.println(randomNum[i]); } } /** * readFile. Reads the file given, creating processes as needed to save details. * @param fileNameInput address of the file to be read in. */ public void readFile(String fileNameInput) { Scanner fileReader; //Scanner to read the file. File dataSet = new File(fileNameInput); //Try and open file. If it works, procede. try { fileReader = new Scanner(dataSet); System.out.println("File Opened."); while(fileReader.hasNextLine()){ String line = fileReader.nextLine(); if(line.equals("EOF")) { System.out.println("End of File Reached"); break; } //If it is a new proccess if(line.startsWith("ID:")) { //Create new proccess processCount++; p[processCount] = new Process(); p[processCount].setId(line.substring(4)); while(fileReader.hasNextLine()) { line = fileReader.nextLine(); if(line.equals("END")) { break; } else if(line.startsWith("Arrive:")) { p[processCount].setArrive(Integer.parseInt(line.substring(8))); } else if(line.startsWith("ExecSize:")) { p[processCount].setSize(Integer.parseInt(line.substring(10))); } else if(line.startsWith("Tickets:")) { p[processCount].setTickets(Integer.parseInt(line.substring(9))); } } } else if(line.equals("BEGINRANDOM")) { while(fileReader.hasNextLine()) { line = fileReader.nextLine(); if(line.equals("ENDRANDOM")) { break; } else { randomNumLength++; randomNum[randomNumLength] = Integer.parseInt(line); } } } } fileReader.close(); } //If the file isn't found, through a hissy fit. catch (FileNotFoundException e) { System.out.println("File not found."); //e.printStackTrace(); //Optional, shows more data. } } }