gpt4 book ai didi

haskell - 如何在 Haskell 中创建文件及其父目录?

转载 作者:行者123 更新时间:2023-12-04 11:59:29 25 4
gpt4 key购买 nike

我想通过非平凡路径将内容写入文件,如果它们不存在,则创建所有父目录。所以下面的代码:

mkFile "foo/bar/baz/quux.txt"

将创建所有目录 foo/ , foo/bar/foo/bar/baz/如果它们不存在(当然还有文件 quux.txt)。实现这种功能的最简单方法是什么?理想情况下,我希望看到一个仅使用 directory 的解决方案。和 filepath图书馆。

最佳答案

我正在尝试为此找到最简单的方法,但找不到任何方法。
唯一的方法是根据您的需求实现我们自己的功能。
幸运的是,这是使用 System.DirectorySystem.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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com