Haskell &引用;资源繁忙(文件已锁定)";哈斯克尔错误
我对哈斯克尔很陌生。事实上,我正在努力 我遇到了这段代码:Haskell &引用;资源繁忙(文件已锁定)";哈斯克尔错误,haskell,Haskell,我对哈斯克尔很陌生。事实上,我正在努力 我遇到了这段代码: import System.IO import Data.Char main = do contents <- readFile "girlfriend.txt" writeFile "girlfriendcaps.txt" (map toUpper contents) import System.IO 导入数据.Char main=do 内容完全取决于你想做什么。通常,在任
import System.IO
import Data.Char
main = do
contents <- readFile "girlfriend.txt"
writeFile "girlfriendcaps.txt" (map toUpper contents)
import System.IO
导入数据.Char
main=do
内容完全取决于你想做什么。通常,在任何语言中,这都可能是一个糟糕的设计,因为如果程序内部或外部出现任何错误(例如用户错误),那么您已经破坏了原始数据,无法重试。它还要求整个文件都保存在内存中,如果只有几个字节,这是很酷的,但如果有人决定在一个非常大的文件上运行它,这就不太好了
如果你真的想这样做,那么为输出生成一个临时文件名,一旦你知道你已经成功写入了它,你就可以删除原始文件并重命名新文件。事实上,这是一个“懒惰的评估”
import System.IO
导入数据.Char
main=do
路径您要查找的是如何在ReadWriteMode
中打开文件
fileHandle <- openFile "fileName.txt" ReadWriteMode
contents <- hGetContents fileHandle
文件句柄
import System.IO
import Data.Char
main = do
path <- getLine
contents <- readFile path
writeFile path (map toUpper contents)
fileHandle <- openFile "fileName.txt" ReadWriteMode
contents <- hGetContents fileHandle