directory-1.2.2.0: tests/copyFile002.hs
module Main (main) where
import Control.Exception
import Data.List
import System.Directory
import System.IO
-- like copyFile001, but moves a file in the current directory
-- See bug #1652
main :: IO ()
main = do d <- getCurrentDirectory
flip finally (setCurrentDirectory d) $ do
setCurrentDirectory "copyFile002dir"
tryIO $ removeFile to
cs_before <- getDirectoryContents "."
putStrLn "Before:"
print $ sort cs_before
copyFile from to
cs_before <- getDirectoryContents "."
putStrLn "After:"
print $ sort cs_before
readFile to >>= print
tryIO :: IO a -> IO (Either IOException a)
tryIO = try
from, to :: FilePath
from = "source"
to = "target"