Каков наилучший способ работы с путями файлов в Java? - PullRequest
1 голос
/ 15 декабря 2008

Я считаю, что это класс File, но я слышал, что он очень дорогой в памяти.

Есть ли лучший способ работы с путями к файлам?

Ответы [ 4 ]

6 голосов
/ 15 декабря 2008

Трудно сказать, не зная, что вы хотите сделать, но, пожалуйста, не оптимизируйте преждевременно. Я сомневаюсь, что использование памяти объектом File будет вообще заметно в вашем приложении.

2 голосов
/ 15 декабря 2008

Класс File может быть достаточно дорогим, чтобы вы не хотели использовать его для хранения каждого файла на жестком диске в памяти. Я знаю, что у меня были проблемы с этим, особенно когда я пытался использовать дерево объектов File. Если вы столкнулись с ситуацией, когда использование класса файлов слишком дорого, рассмотрите возможность использования только строк и преобразования в файлы при необходимости. Но то, что эта оптимизация делает вашу программу практичной, вероятно, является признаком того, что у вас есть большие проблемы. Гораздо более вероятно, что накладные расходы, связанные со структурой, содержащей объекты, будут проблемой.

2 голосов
/ 15 декабря 2008

Класс File сам по себе не содержит большого количества данных. Он имеет все два поля экземпляра. Если все, что вас беспокоит, это память, это не похоже, что это большая проблема. Ничего не загружается из файловой системы, пока вы не откроете поток или канал.

1 голос
/ 15 декабря 2008

Единственный раз, когда я знаю, где File использует много памяти, это когда вы используете File.list () ...

См. Эти решения:

Есть ли способ обойти низкую производительность Java при обходе огромных каталогов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...