실례지만이 질문의 n00bness는 문제가되지만 잠재적으로 큰 파일을 서버로 보내고 형식을 구문 분석 할 웹 응용 프로그램이 있습니다. Play20 프레임 워크를 사용하고 있으며 스칼라에 익숙하지 않습니다.스칼라 Play20의 BodyParser로 파일을 새로운 줄로 바꾸기
예를 들어 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이 일에 대해 올바른 방법을 쓰고있다? 이 파일을 분석하는 더 좋은 방법이 있습니까? 필자의 주된 관심사는 파일을 매우 크게 허용하여 일부 지점에서 버퍼를 플러시하고 전체 파일을 메모리에 보관하지 못하게 할 수 있다는 것입니다.
:
그래서 마찬가지로 play2 컨트롤러는 같은 것을 할 것이다. –
물론, 이전 코드를><>를 작성으로 바꾸고, >>을 변환으로, >>>> 실행하여 바꿀 수 있습니다. 이 연산자는 스칼라가 아닌 해당 객체의 메소드입니다. – Sadache
아, 예전의 Enumeratees 문서를 다시 읽었습니다. 감사! –