Which bit are you confused about? That is straighforward enough.
FileInputStream "the next variable will be of type FileIn...."
fin "I am going to call that variable fin."
= "take whatever is on the right of this operator and give that value to the name on the left"
new "an operator which tells the JVM there will be a new object"
FileInputStream(...) "the object will be of type FileIn... and the JVM is to call its constructor with the arguments in the ()"
new "same as before"
File(...) "the object will be of type File, and the JVM is to call its constructor with the arguments in the ()"
args[0] "the first
word you wrote after the name of the class when you went to the command line."
; "End of this statement: go and look for the next statement."
If it is args[0] you were confused about, try
here.