Wirklich mühsam ist das IMO eigentlich nicht, wenn man nicht besonders elegant sein will.
Eigentlich sogar sehr verständlicher Code, wie ich finde. Man sollte vielleicht noch Exceptions abfangen, die beim Einlesen auftreten können, aber ansonsten funktioniert es. Der Code von drunken monkey sieht auch so aus, als würde er funktionieren - und sind sogar weniger Zeilen, die meiner Meinung nach aber nicht so gut zu verstehen sind.