Извините n00bness этого вопроса, но у меня есть веб-приложение, где я хочу отправить потенциально большой файл на сервер и проанализировать его. Я использую платформу Play20, и я новичок в Scala.
Например, если у меня есть csv, я бы хотел разделить каждую строку на "," и в конечном итоге создать List[List[String]]
с каждым полем.
В настоящее время я думаю, что лучший способ сделать это - с BodyParser (но я мог ошибаться). Мой код выглядит примерно так:
Iteratee.fold[String, List[List[String]]]() {
(result, chunk) =>
result = chunk.splitByNewLine.splitByDelimiter // Psuedocode
}
Мой первый вопрос: как я могу справиться с ситуацией, подобной той, которая находится ниже, где фрагмент разделен посередине строки:
Chunk 1:
1,2,3,4\n
5,6
Chunk 2:
7,8\n
9,10,11,12\n
Мой второй вопрос: писать собственный BodyParser правильный путь? Есть ли лучшие способы анализа этого файла? Моя основная проблема заключается в том, что я хочу, чтобы файлы были очень большими, поэтому я могу сбросить буфер в какой-то момент и не хранить весь файл в памяти.