У меня есть каталог назначения в 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
)