В моей программе я неоднократно читал несколько файлов, как это:Кэширование FileInputStream
String myLetter = "CoverSheet.rtf"; // actually has a full path
FileInputStream in = new FileInputStream(myLetter);
letterSection.importRtfDocument(in);
in.close();
Поскольку есть много маленьких файлов, которые являются компонентами для добавления в документ с importRtfDocument
, и тысяч писем, порождающими в прогон, обработка выполняется довольно медленно.
Метод importRtfDocument
исходит из библиотеки, которую я использую, и ей необходимо дать FileInputStream
. Вот где я в тупике. Я пробовал несколько вещей, например, объявляя FileInputStream
для каждого файла в классе и сохраняя их открытыми, но reset()
не поддерживается.
Я посмотрел на другие подобные вопросы, как этот:
How to Cache InputStream for Multiple Use
Однако никто не кажется, для решения моей проблемы, а именно, как я могу кэшировать FileInputStream
?
Ваш ответ многообещающий. Кроме того, Turophile должен создать подкласс FileInputStream для подачи библиотеки, которую он использует из кеша, не так ли? – IzCe
Спасибо, я постараюсь работать в этом коде. – Turophile