public static void main(String[] args) {
		if(args.length < 3) { 
			printUsageExample(); 
		} else {
			String iFile = args[args.length - 2]; //Input and output files
			String oFile = args[args.length - 1]; //Will always be the last two args.
			if(checkForFlag(args, "-c")) {
				long start = System.currentTimeMillis(); 
				Encode e = new Encode(iFile, oFile); 
				if(!e.checkEncodedFileSize() && !checkForFlag(args, "-f")) { 
					System.out.println("Cannot compress");
				} else { 
					e.encode(); 
					if(checkForFlag(args, "-v")) { 
						e.printCodes(); 
						e.printTree(); 
					}
				}
				long end = System.currentTimeMillis(); 
				System.out.println("Encode Runtime: " + (end - start) + "ms");
			} else if(checkForFlag(args, "-u")) { 
				long start = System.currentTimeMillis(); 
				Decode d = new Decode(iFile, oFile);
				d.decode(); 
				long end = System.currentTimeMillis(); 
				System.out.println("Decode Runtime: " + (end - start) + "ms");
				if(checkForFlag(args, "-v")) 
					d.printTree(); 
			} else { 
				printUsageExample(); 
			}
		} 
	}