示例#1
0
文件: File.cs 项目: yb199478/CatLib
        /// <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();
        }
示例#2
0
文件: File.cs 项目: yb199478/CatLib
 /// <summary>
 /// 复制文件
 /// </summary>
 public IFile CopyTo(string targetFileName)
 {
     IFile destFile = new File(targetFileName);
     destFile.Directory.Create();
     FileInfo.CopyTo(targetFileName);
     return destFile.Refresh();
 }