//NAME:Caleb Bird //ID: 1289680 //??References?? //https://stackoverflow.com/questions/13796451/how-to-extract-a-string-between-two-delimiters import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; public class TabProcMetaListGen { public static void main(String[] args) { try{ if (args.length != 2) { System.out.println("Usage: TabProcMetaListGen "); } else { //Variables String inputFilename = args[0]; String listFilename = args[1]; FileReader fileReader = new FileReader(inputFilename); BufferedReader buf = new BufferedReader(fileReader); FileWriter listWriter = new FileWriter(listFilename, true); String line = null; String[] item; String idLine = null; String id = null; String numpages = null; System.out.println("Processing: " + inputFilename); //Splits into each record while ((line = buf.readLine()) != null) { if(line.contains("")){ //Isoclate and store the id from the line idLine = line.substring(line.indexOf(">")+1, line.indexOf("")){ //Iscolate and store the page number numpages = line.substring(line.indexOf(">")+1, line.lastIndexOf("<")); } } //Check if there are more than 10 pages if(Integer.parseInt(numpages) >= 10){ //Add extracted metadata to output list listWriter.write(id + '\t' + numpages + '\n'); } buf.close(); listWriter.close(); } }catch(Exception e){ e.printStackTrace(); } } } //REFERNECES //https://www.javatpoint.com/java-filewriter-class //https://docs.oracle.com/javase/8/docs/api/index.html?java/io/FileWriter.html