为什么我不能写文件?

Ber*_*ian -1 io haskell file

我正在尝试创建一个csv文件以进行测试,当我尝试编写该文件时,该文件会在0kb或上下波动,1kb并且仅写入1条记录。它会像这样持续波动一段时间

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
Run Code Online (Sandbox Code Playgroud)

如果我尝试写到某个位置,则将C://获得不允许的权限。

Mat*_*hid 5

每次调用都会writeFile用下一条记录覆盖现有文件。

你想要做的是要么

  • 打开文件(openFile),将每一行写入文件句柄(hPutStrLn),最后关闭文件(hClose)。
  • 生成一个巨大的字符串,代表整个文件的内容,以及writeFile最后的内容。

  • 也检查`appendFile` (2认同)