Other members only mention how to extract data from .blk file, but if you want to extract specific block height quickly, you might need to access it's index files which located on
blocks/index/.
It uses LevelDB (basically key/value pair), but unfortunately the key isn't block height. But if you plan to do it, check
https://bitcoin.stackexchange.com/a/29418I understand that the question is about reading blk files, but why do you need it ? You can ask bitcoin RPC all the data stored in these files.
Based on OP post history, he want to know it works, not only how to use a tool.