Beispiel #1
0
        public static void CopyFile(string sourceFullPath, string destFullPath, bool overwrite)
        {
            long         fileLength;
            UnixFileMode filePermissions;

            using SafeFileHandle src = SafeFileHandle.OpenReadOnly(sourceFullPath, FileOptions.None, out fileLength, out filePermissions);
            using SafeFileHandle dst = SafeFileHandle.Open(destFullPath, overwrite ? FileMode.Create : FileMode.CreateNew,
                                                           FileAccess.ReadWrite, FileShare.None, FileOptions.None, preallocationSize: 0, filePermissions,
                                                           CreateOpenException);

            Interop.CheckIo(Interop.Sys.CopyFile(src, dst, fileLength));
Beispiel #2
0
        public static void CopyFile(string sourceFullPath, string destFullPath, bool overwrite)
        {
            long fileLength;

            Interop.Sys.Permissions filePermissions;
            using SafeFileHandle src = SafeFileHandle.OpenReadOnly(sourceFullPath, FileOptions.None, out fileLength, out filePermissions);
            using SafeFileHandle dst = SafeFileHandle.Open(destFullPath, overwrite ? FileMode.Create : FileMode.CreateNew,
                                                           FileAccess.ReadWrite, FileShare.None, FileOptions.None, preallocationSize: 0, openPermissions: filePermissions,
                                                           (Interop.ErrorInfo error, Interop.Sys.OpenFlags flags, string path) => CreateOpenException(error, flags, path));

            Interop.CheckIo(Interop.Sys.CopyFile(src, dst, fileLength));