This is not a big data file, it can easily fit into memory. Is this the whole or just part of the data? Some of the id's have duplicates. What are you supposed to do with those cases? The last record is partial. Is this a cut-and-paste error or can the file contain partial records?
this is just part of the file
i need to display the information for example if a enter an id it should display the scientific names
if id repeats meaning that it has more data that needs to be display for example the common names
You need to call your method getBufferedReader(). Then in the while loop you need to call the reader's readLine() method. Then you need to call split() on the line and send the results to your 'data' variable. From there you can compare the input id with the string held in data, note, that for this to work you'll need to input the id as a String and not an int.
Hopefully this will nudge you along. Re-post your code when you get stuck at the next stage.
Once you get your hands on the buffered reader, you should probably use its lines method (Java8 only) to get a Stream<String>. Then you can use methods like anyMatch(s -> s.equals("Pseudomonas aeruginosa"))
infact i need to make a search by their id
the id might repeat in the file having different names
i am trying to do that as simple as possible
i have try to implement another coding but am getting problem with the method indexOF: