//NAME:Caleb Bird //ID: 1289680 //??References?? import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; public class TabProcTextGen { public static void main(String[] args) { try{ if (args.length != 3) { System.out.println("Usage: TabProcTextGen "); } else { String inputFilename = args[0]; String outputFilename = args[1]; String inputType = args[2]; System.out.println("Processing: " + inputFilename); FileReader fileReader = new FileReader(inputFilename); BufferedReader buf = new BufferedReader(fileReader); //FileWriter fw = new FileWriter("HathiDocIDList.txt"); FileWriter fw = new FileWriter(outputFilename); String line = null; String[] item; //Splits into each record, since readLine splits by "\n" int line_num = 0; while ((line = buf.readLine()) != null) { line_num++; if (line_num%100000 == 0) { System.out.print("."); System.out.flush(); } //Splits by tab, leaves "" for every blank entry item = line.split("\t", -1); //Check items to be equal if( item[1].equals("allow") && item[2].equals("pd") && item[19].equals(inputType) && (item[24].equals("open")||item[24].equals("page"))){ //Encode id String idEncoded = item[0]; //idEncoded = idEncoded.replaceAll(":", "+").replaceAll("/", "="); //Write item to file fw.write(idEncoded + "\n"); } } buf.close(); fw.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 //Email from supervisor (Compx520 ID Error Apr 24)