if you don't have much experience as you say, here's the best advice i can give you.
delete most of this code.
I've been a professional coder for 20 years. I NEVER write more than 2-3 lines before compiling. Then i test that code. and then test it some more. When I'm sure it is correct, i'll write 2-3 more, and repeat.
You've got what...a hundred lines? it's going to be almost impossible to find all the errors. So, delete it all. Start over. Sure, you can also just comment out most of it. Start with nothing but your main method, and 1-2 lines. something like:
See if that works. Maybe stick in a "Sytem.out.println("File name is " + fileName")
assuming it does, take out the S.o.p, and add another line or two...maybe your while loop, and instead of "processOneLine()", just print the one line. Get that to work. Once it does, then maybe add the next processOneLine, but have it only print the line. In other words, make sure you can pass in the line to the method. Once that works, start adding the part to process it.
if you only add 2-3 lines at a time, it's easy to know where the error is.
it sounds much more tedious, but it truly will save you time, effort, and headaches in the long run.