У меня есть большой текстовый файл (около 20 миллионов строк), которая имеет строки в следующем формате:Как обрезать строки в java без создания нового объекта?
<string1>, <string2>
Теперь эти строки могут быть конечные или ведущие пробельные, которые я хочу, чтобы удалить при чтении файла.
В настоящее время я использую для этой цели trim()
, но поскольку String в Java неизменен, trim()
создает новый объект на операцию триммера. Это приводит к слишком большому количеству потерь памяти.
Как я могу сделать это лучше?
Пожалуйста, покажите, как вы читаете файл, а затем разделяете строки. –
Вы понимаете, что все неиспользуемые строки собраны, поэтому нет реального * отхода * памяти, только новых созданных объектов (которые эффективно собираются GC). – Kayaman
Я не совсем уверен, но я думаю, что использование [sed] (http://www.grymoire.com/Unix/Sed.html) может решить проблему –