public static ArrayList<String> tokenizeFile(File input) throws IOException {
		BufferedReader inputBR = null;
		ArrayList<String> tokanizedWords = new ArrayList<String>();
		ArrayList<String> tempArrList = new ArrayList<String>();
		
		try {
			String inputString = "";
			
			// Storing all stop words in a HashSet
			HashSet<String> stopWords = new HashSet<String>();
			
			// Reading the Stop Words
			String line = null;
			File file = new File("src/ir/assignments/UtilFiles/StopWords");
			inputBR =  new BufferedReader(new FileReader(file));
			while (( line = inputBR.readLine()) != null) {
				stopWords.add(line.trim());
			}
			int i=0;
			// Reading and processing the file passes as argument to this method
			inputBR =  new BufferedReader(new FileReader(input));
			while (( inputString = inputBR.readLine()) != null) {
				if(inputString.trim().length() != 0 || !inputString.equals(" +")) {
					// inputString += line + " ";
					
					// Removing extra white spaces between characters with a single white space
					inputString = inputString.replaceAll(" +", " ");
					
					// Reference: http://stackoverflow.com/questions/7552253/how-to-remove-special-characters-from-an-string
					inputString = inputString.replaceAll("[^\\w\\s]","");
					inputString = inputString.replaceAll("[^\\p{L}\\p{N}]"," ");
					inputString = inputString.trim();
					inputString = inputString.toLowerCase();
					
					// Removing extra white spaces between characters
					inputString = inputString.replaceAll(" +", " ");
					
					tempArrList.clear();
					tempArrList.addAll(Arrays.asList(inputString.split(" ")));
					// Removing stop words
					tempArrList = removeStopWords(tempArrList, stopWords);
					
					// Splitting the line based on spaces
					tokanizedWords.addAll(tempArrList);
					
					i++;
					if(i%500==0) {
						Calendar cal = Calendar.getInstance();
						cal.getTime();
				    	SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
				    	System.out.println( i + " :    " + sdf.format(cal.getTime()) + " ----------------    " + tokanizedWords.size() );
						
					}
				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} finally {
			inputBR.close();
		}
		if(tokanizedWords.size() == 1 && tokanizedWords.get(0).equals("")) {
			return new ArrayList<String>();
		} else {
			return tokanizedWords;
		}
	}