2012-09-22 2 views
6

F #에서 출력 파일을 쓰는 데 문제가 있습니다. 출력에 불완전한 데이터를 인쇄합니다. 내 코드의 어느 부분이 잘못되었거나 더 좋은 방법이 있는지 확실하지 않습니다. 아래는 출력 파일의 마지막 몇 줄의 스냅 샷입니다.F #에서 seq를 출력 파일로 작성

NKU12,201209121039,8960,8960,8960,8960 
NKU12,201209121040,8960,8960,8960,8960 
NKU12,201209121041,8960,8960,8960,8960 
NKU12,201209121043,8960,8960,8960,8960 
NKU12,201209121045,8960,8 

마지막 줄에는 불완전합니다. 다음은 마지막 줄에, 그것은 불완전 것을 F 번호에 내 코드

let outFile = new StreamWriter("Test.csv") 

let dataFrame = lines fileName 
       |> Seq.map (fun y -> y.Split([|','|])) 
       |> Seq.filter (fun some function) 
       |> Seq.iter (fun y -> outFile.WriteLine(sprintf "%s,%s,%s,%s,%s,%s" y.[0] (y.[1]+y.[2]) y.[3] y.[4] y.[5] y.[6])) 

주입니다. 파일로 쓰는 대신 printfn을 사용하면 모든 정보가 콘솔에 완전히 표시됩니다. outData.Flush 또는 outData.Close를 호출 한 다음 파일의 내용을 확인

감사 케네스

답변

14

보십시오. 일부 데이터는 여전히 버퍼에있을 수 있습니다.

+0

감사합니다. 그것은 문제를 해결합니다. –

+0

@KennethGoh 리소스 소비 클래스를 조정하는 방법은 [이 답변] (http://stackoverflow.com/a/3720241/974789)을 참조하십시오. – bytebuster

+5

@KennethGoh 문제가 해결되면 대답 옆에있는 빈 상자를 클릭하십시오. –