I have a text file in my computer which I am reading form my java program, I want to build some criteria. Here is my Notepad File :
#Students #studentId studentkey yearLevel studentName token 358314 432731243 12 Adrian Afg56 358297 432730131 12 Armstrong YUY89 358341 432737489 12 Atkins JK671 #Teachers #teacherId teacherkey yearLevel teacherName token 358314 432731243 12 Adrian N7ACD 358297 432730131 12 Armstrong EY2C 358341 432737489 12 Atkins F4NGH While reading this from a notepad with the below code i get Array out of bound exception. While debugging i get "  #Students" value for strLine.length(). Can anyone help to solve this?
private static Integer STUDENT_ID_COLUMN = 0; private static Integer STUDENT_KEY_COLUMN = 1; private static Integer YEAR_LEVEL_COLUMN = 2; private static Integer STUDENT_NAME_COLUMN = 3; private static Integer TOKEN_COLUMN = 4; public static void main(String[] args) { ArrayList<String> studentTokens = new ArrayList<String>(); try { // Open the file that is the first // command line parameter FileInputStream fstream = new FileInputStream("test.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); String strLine; // Read File Line By Line while ((strLine = br.readLine()) != null) { strLine = strLine.trim(); if ((strLine.length()!=0) && (strLine.charAt(0)!='#')) { String[] students = strLine.split("\\s+"); studentTokens.add(students[TOKEN_COLUMN]); } } for (String s : studentTokens) { System.out.println(s); } // Close the input stream in.close(); } catch (Exception e) {// Catch exception if any System.err.println("Error: " + e.getMessage()); } }
notepadis tool not file , you are reading from text file.