JavaのAPIではFileクラス、FileReaderやBuffredReaderなどありましたし、役割を分けてクラスが提供されていたのでもしかしたら検討の余地ありかもですね。まあコメント整理の後にこれは対処する方向で。