Как скопировать файл из haskell в каталог с разрешением «только добавление» и с сохранением времени изменения - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть каталог назначения в Windows с разрешением «только добавление». Я хочу скопировать в него файл и сохранить время модификации. Следующий код делает копию, но затем вылетает:

import qualified Data.ByteString.Lazy  as BS
withBinaryFile destPath WriteMode (\h -> do
     hSetBinaryMode h True
     BS.readFile sourcePath >>= BS.hPut h
   )
-- next line crashes due to permission
getModificationTime sourcePath >>= setModificationTime destPath

Следующий код был бы лучше, но функция hSetModificationTime не существует

import qualified Data.ByteString.Lazy  as BS
withBinaryFile destPath WriteMode (\h -> do
     hSetBinaryMode h True
     BS.readFile sourcePath >>= BS.hPut h
                                        -- not existing function 
     getModificationTime sourcePath >>= hSetModificationTime h

   )
...