2012-05-13 3 views
0

Преамбула: мне известно о Apache IO и хотелось бы комментариев за указателями на Apache IO.Автоматическая обработка файлов/входных потоков в Java


Это, вероятно, может быть немного глупый вопрос, но я просто понял, что:

Когда я реализовать API, который должен читать скажем входного потока я в конечном итоге реализации много перегруженных вариантов, для пример:

public void foo (InputStream input, int somearg, float someotherarg) { ... 

перегруженные варианты:

public void foo (File inputFile, int somearg, float someotherarg) { ... 
public void foo (String filename, int somearg, float someotherarg) { ... 

--или--

можно реализовать

public void foo (InputStream input, int somearg, float someotherarg) { ... 

и осуществлять вспомогательные функции полезности, которые обрабатывают имена файлов, файлов и конвертировать их в InputStreams.

Вопрос, который у меня есть, заключается в том, что я продолжаю повторное выполнение этого вопроса - есть ли библиотека, которую кто-то написал, или это было обработкой в ​​шаблоне проектирования.

Спасибо.

ответ

0

Возможно, вы ищете Apache Commons IO. У этого есть куча методов, которые могут уменьшить накладные расходы такого рода вещи.

2

Guava эта вещь называется InputSupplier. Возможно, вам стоит взглянуть.

Кроме того, есть AutoCloseable интерфейс и функция под названием try-with-resources в Java 7, которая может упростить дело (то есть вы можете создать только методы API, которые требуют InputStream и программисты могут использовать примерочный с-ресурсов для обработки тех, входные потоки, когда у них есть параметры строки/файла).

+0

Хм большое спасибо за это ... Сегодня я чему-то научился – user1172468

Смежные вопросы