【发布时间】:2019-08-01 22:11:00
【问题描述】:
我正在尝试创建一个csv 文件用于测试目的,当我尝试编写它时,它会继续在0kb 或1kb 处波动,并且只写入了一条记录。它会继续像这样波动一段时间,直到我得到
openfile: 权限被拒绝
module Generator where
path="d:\\data.csv"
cnt=1000000
main::IO()
main=do
let payload=makeString
writeToFile path cnt payload
makeString::String
makeString="0741142339,\r\n"
writeToFile::String->Int->String->IO()
writeToFile _ 0 _ =return ()
writeToFile path cnt payload=writeFile path payload >> writeToFile path (cnt-1) payload
如果我尝试写入 C:// 上的某个位置,我将获得不允许的权限。
【问题讨论】:
-
writeToFile path cnt payload = replicateM_ cnt (writeFile path payload);不需要显式递归。如果按照建议将writeFile替换为appendFile,则同样的逻辑成立。