Я читаю текстовый файл, используя FileInputStream
, который помещает содержимое файла в массив байтов. Затем я преобразую массив байтов в строку, используя новую строку (байт).
Как только у меня есть строка, я использую String.split("\n")
, чтобы разбить файл на массив String, а затем взять этот массив строк и проанализировать его, выполнив String.split(",")
и удерживая содержимое в Arraylist.
У меня есть файл 200 Мбайт +, и у него заканчивается память, когда я запускаю JVM с 1 ГБ памяти. Я знаю, что я должен что-то делать правильно, я просто не уверен, что метод, который я обрабатываю, неверен или структуру данных, которую я использую.
Также мне нужно около 12 секунд, чтобы проанализировать файл, который кажется очень большим. Может ли кто-нибудь указать, что я могу делать, из-за чего у меня заканчивается память и что может заставлять мою программу работать медленнее?
Содержимое файла выглядит следующим образом:
"12334", "100", "1.233", "TEST", "TEXT", "1234"
"12334", "100", "1.233", "TEST", "TEXT", "1234"
.
.
.
"12334", "100", "1.233", "TEST", "TEXT", "1234"
Спасибо