作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想通过非平凡路径将内容写入文件,如果它们不存在,则创建所有父目录。所以下面的代码:
mkFile "foo/bar/baz/quux.txt"
foo/
,
foo/bar/
和
foo/bar/baz/
如果它们不存在(当然还有文件
quux.txt
)。实现这种功能的最简单方法是什么?理想情况下,我希望看到一个仅使用
directory
的解决方案。和
filepath
图书馆。
最佳答案
我正在尝试为此找到最简单的方法,但找不到任何方法。
唯一的方法是根据您的需求实现我们自己的功能。
幸运的是,这是使用 System.Directory
和 System.FilePath.Posix
仅限图书馆。
import Prelude
import System.Directory (createDirectoryIfMissing)
import System.FilePath.Posix (takeDirectory)
main :: IO ()
main = createAndWriteFile "foo/bar/baz/quux.txt" "something"
createAndWriteFile :: FilePath -> String -> IO ()
createAndWriteFile path content = do
createDirectoryIfMissing True $ takeDirectory path
writeFile path content
foo
└── bar
└── baz
└── quux.txt
关于haskell - 如何在 Haskell 中创建文件及其父目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58682357/
我是一名优秀的程序员,十分优秀!