Считыватели в Java являются просто «объективированными» версиями операций чтения файлов блоков. В Objective C у вас есть доступ к библиотеке C. Это дает вам fopen, fread, fclose , которые являются функциями для чтения файлов необработанных данных блок за блоком. Разве это не все, что действительно нужно?
Затем, если вам нужно, например, прочитать целые числа, просто приведите блоки данных (void *) к (int *).
Можно утверждать, что Java Reader более абстрактен. Да, есть подклассы для чтения материалов из любого места, а не только из файлов. Но если вы переносите существующую программу, вы уже знаете, является ли источник данных файлом или нет.