VirtualFileSystem.INodeDirectory.Rename C# (CSharp) Méthode

Rename() public méthode

重命名一个目录项
public Rename ( String oldName, String newName ) : System.Boolean
oldName String
newName String
Résultat System.Boolean
        public Boolean Rename(String oldName, String newName)
        {
            if (!Contains(oldName))
            {
                return false;
            }
            if (oldName == "." || oldName == "..")
            {
                return false;
            }
            if (Contains(newName))
            {
                return false;
            }
            var inodeIndex = entries[oldName];
            entries.Remove(oldName);
            entries[newName] = inodeIndex;
            Save();
            return true;
        }

Usage Example

Exemple #1
0
            /// <summary>
            /// 重命名文件或文件夹
            /// </summary>
            /// <param name="oldName"></param>
            /// <param name="newName"></param>
            public void Rename(String oldName, String newName)
            {
                VFS.AssertNameValid(oldName);
                VFS.AssertNameValid(newName);

                if (!dir.Contains(oldName))
                {
                    throw new Exception("文件或文件夹未找到");
                }
                if (dir.Contains(newName))
                {
                    throw new Exception("新文件名与现有文件或文件夹名称冲突");
                }
                if (!dir.Rename(oldName, newName))
                {
                    throw new Exception("重命名失败");
                }
            }