- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试向文件写入内容时出现“openFile - permission denied”错误:
saveFile content path = do
writeFile path (show content)
为什么?
最佳答案
从您的问题来看,您似乎在同一文件上使用 System.IO
中的 readFile
和 writeFile
。
记住 System.IO.readFile
惰性,这意味着文件句柄最初是打开的,然后当您的程序需要数据时,将读取片段。只有在读取了所有数据或删除了对文件的所有引用后,文件句柄才会关闭。在此之前,资源被锁定。
您需要确保在尝试写入文件之前已完全读取该文件,或者以某种方式关闭该文件。实现此目的的一种简单方法是使用严格的 IO。例如:
loadFileStrict :: Read a => FilePath -> IO a
loadFileStrict f = do
s <- readFile f
length s `seq` return s
在这里,我们在返回结果之前询问字符串的长度。这会强制读取全部内容。
此模式在 strict 中捕获包。
关于file - openFile - 权限被拒绝 - 读取和写入同一文件时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6081794/
我想打开一个文件,将其拖放到应用程序图标上。当我这样做时,我的应用程序被打开,因此文件扩展名定义明确并且与我的应用程序相关。但是 application:openFile: 函数永远不会被调用。所以我
我正在尝试“即时”格式化openfiles.exe的输出,而不是将输出保存到CSV并导入。 如果我只运行openfiles /query /s SERVERNAME /fo table,我会得到 ID
我正在尝试编写一个程序来读取文件,同时允许其他应用程序访问它。我了解到,在 Windows 中,您需要传递 syscall.FILESHARE_READ/WRITE 标志以防止文件锁定。但是,引入这些
当我尝试向文件写入内容时出现“openFile - permission denied”错误: saveFile content path = do writeFile path (s
我一直在尝试在运行的 Eclipse session 中从命令行打开文件。基于documentation ,我应该可以做到 eclipse --launcher.openFile myfilename
当给定由\n 分隔的文本输入文件时,该程序会产生我期望的输出: import System.IO main :: IO () main = do h IO [String] getlines h =
我正在尝试创建一个aspx页面,在该页面中我可以直接将文件从客户端上传到服务器,而无需用户干预。我想做一些事情,比如当用户在 url 中指定文件路径时,必须将该特定文件上传到服务器。 示例:ht.tp
void openfile(FILE *fichier,char *str){ char path; path=(char*)malloc(sizeof(char)); fic
我一直在关注有关 allegro 5 平台游戏的教程,他的文件管理器使用 !openFile.eof(),我听说它不太好,我很确定它是什么给我一个 vector 下标超出范围错误。除了它还有什么我可以
Vista 引入了一个接口(interface):IFileDialog::SetFilter,它允许我设置一个过滤器,该过滤器将为每个可能的文件名调用以查看它是否应该显示给用户。 Microsoft
我正在尝试为 db4o 创建一个通用的助手类。 我创建了一个静态类,它应该在每个应用程序页面中充当助手。 这是我的代码: public final class DatabaseHelper imple
我目前遇到了 os.OpenFile 的问题。当我运行我的 go 测试时,它只是给我“权限被拒绝”。 type log struct { Message string Source
像这样使用时 [ [NSWorkspace sharedWorkspace] openFile:fileName withApplication:appName]; 并且文件名包含空格 另一个应用程序
我正在使用 kube-aws 在 AWS 上创建 kubernetes 集群,我有 kube-aws 版本 v0.12.3,当我尝试时,工作节点上经常出现“系统中打开的文件太多”的问题ssh 进入工作
大多数gif捕捉软件都是捕捉屏幕,然后将其一帧一帧的图片文件保存在磁盘上,然后读入内存并组合成gif,整个过程非常缓慢。 我想到了用DirectX捕获屏幕(这样我们也可以更快地捕获directx窗口,
我已经在 the msdn doc 中查看了这段代码: Stream myStream = null; OpenFileDialog openFileDialog1 = new OpenFileDia
我正在尝试编写一个应用程序,它可以处理 ftp 服务器上的文件。我需要在一个 ftp 连接中打开多个文件。我这样做 CInternetSession session(_T("Session1"));
当我以这样的模式打开文件时: file, _ := os.OpenFile("/path/to/my/file", os.O_RDWR|os.O_APPEND, os.FileMode(0666))
我想通过以下功能打开并引用工作簿。只有函数会产生运行时错误“91”:在跳回主代码之前未设置对象变量或 block 变量。 当我将确切的代码(只是不是函数)放入我的主代码时,它可以完美地工作。 但是我不
我已经在一个网站上工作了大约一个月,最近我尝试烘焙一些东西,现在我真的被刚刚弹出的缓存权限问题困住了。例如,我已经阅读了有关此问题的 stackoverflow 上的所有内容: SplFileInfo
我是一名优秀的程序员,十分优秀!