If you dig into some of the file read functions, for example Read Lines From File, you'll find a subVI in this case, called Read File+ (string).vi and you'll see how the error out of the Read File function is monitored for End of File. There's several Read File+ VIs that are already done for strings or binary data and can easily be modified for other data types.