diff --git a/System/EasyFile.hs b/System/EasyFile.hs
--- a/System/EasyFile.hs
+++ b/System/EasyFile.hs
@@ -76,6 +76,7 @@
   , getAccessTime
   -- * Size
   , getFileSize
+  , setFileSize
   -- * File\/directory information
   , isSymlink
   , getLinkCount
diff --git a/System/EasyFile/Missing.hs b/System/EasyFile/Missing.hs
--- a/System/EasyFile/Missing.hs
+++ b/System/EasyFile/Missing.hs
@@ -16,7 +16,7 @@
 import System.Win32.Time
 import System.Win32.Types (HANDLE)
 #else
-import System.Posix.Files
+import System.Posix.Files as P
 import System.Posix.Types
 #endif
 
@@ -170,4 +170,15 @@
   fromIntegral . bhfiSize <$> getFileInformationByHandle fh
 #else
 getFileSize file = fromIntegral . fileSize <$> getFileStatus file
+#endif
+
+-- | Setting the size of the file.
+setFileSize :: FilePath -> Word64 -> IO ()
+#if defined(mingw32_HOST_OS) || defined(__MINGW32__)
+setFileSize file siz = do
+    hdl <- createFile file gENERIC_WRITE fILE_SHARE_NONE Nothing oPEN_EXISTING fILE_ATTRIBUTE_NORMAL Nothing
+    _ <- setFilePointerEx hdl (fromIntegral siz) fILE_CURRENT
+    setEndOfFile hdl
+#else
+setFileSize file siz = P.setFileSize file $ fromIntegral siz
 #endif
diff --git a/easy-file.cabal b/easy-file.cabal
--- a/easy-file.cabal
+++ b/easy-file.cabal
@@ -1,6 +1,6 @@
 Cabal-Version:          >= 1.10
 Name:                   easy-file
-Version:                0.2.3
+Version:                0.2.4
 Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
 License:                BSD3
