本文整理匯總了C#中System.IO.FileSystemInfo.MoveTo方法的典型用法代碼示例。如果您正苦於以下問題:C# FileSystemInfo.MoveTo方法的具體用法?C# FileSystemInfo.MoveTo怎麽用?C# FileSystemInfo.MoveTo使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.IO.FileSystemInfo
的用法示例。
在下文中一共展示了FileSystemInfo.MoveTo方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: DeleteFileSystemInfo
private void DeleteFileSystemInfo(FileSystemInfo info)
{
info.CreationTime = info.LastWriteTime = info.LastAccessTime = MinTimestamp;
info.Attributes = FileAttributes.Normal;
info.Attributes = FileAttributes.NotContentIndexed;
for (int i = 0, tries = 0; i < FileNameErasePasses; ++tries)
{
string newPath = GenerateRandomFileName(info.GetParent(), info.Name.Length);
try
{
info.MoveTo(newPath);
++i;
}
catch (IOException e)
{
switch (System.Runtime.InteropServices.Marshal.GetLastWin32Error())
{
case Win32ErrorCode.AccessDenied:
throw new UnauthorizedAccessException(S._("The file {0} could not " +
"be erased because the file's permissions prevent access to the file.",
info.FullName));
case Win32ErrorCode.SharingViolation:
if (tries > FileNameEraseTries)
throw new IOException(S._("The file {0} is currently in use and " +
"cannot be removed.", info.FullName), e);
Thread.Sleep(100);
break;
default:
throw;
}
}
}
for (int i = 0; i < FileNameEraseTries; ++i)
try
{
info.Delete();
break;
}
catch (IOException e)
{
switch (System.Runtime.InteropServices.Marshal.GetLastWin32Error())
{
case Win32ErrorCode.AccessDenied:
throw new UnauthorizedAccessException(S._("The file {0} could not " +
"be erased because the file's permissions prevent access to the file.",
info.FullName), e);
case Win32ErrorCode.SharingViolation:
if (i > FileNameEraseTries)
throw new IOException(S._("The file {0} is currently in use and " +
"cannot be removed.", info.FullName), e);
Thread.Sleep(100);
break;
default:
throw;
}
}
}