/// <summary> /// 移动到指定文件 /// </summary> public void Rename(string newName) { IO.IsValidFileName(newName); if (newName.Contains(IO.PATH_SPLITTER.ToString())) { throw new ArgumentException("rename can't be used to change a files location use Move(string newPath) instead."); } string newExtension = System.IO.Path.GetExtension(newName); string newFileName = System.IO.Path.GetFileNameWithoutExtension(newName); IFile targetFile = new File(directory + IO.PATH_SPLITTER + newFileName + newExtension); if(targetFile.Exists) { throw new ArgumentException("duplicate file name:" + newName); } FileInfo.MoveTo(directory + IO.PATH_SPLITTER + newFileName + newExtension); fileName = newFileName; extension = newExtension; Refresh(); }
/// <summary> /// 复制文件 /// </summary> public IFile CopyTo(string targetFileName) { IFile destFile = new File(targetFileName); destFile.Directory.Create(); FileInfo.CopyTo(targetFileName); return destFile.Refresh(); }