Function to shrink file path to be more human readable

前端 未结 8 786
北海茫月
北海茫月 2020-12-31 20:15

Is there any function in c# to shink a file path ?

Input: \"c:\\users\\Windows\\Downloaded Program Files\\Folder\\Inside\\example\\file.txt\"

<
8条回答
  •  猫巷女王i
    2020-12-31 21:06

        private string ShrinkPath(string path, int maxLength)
        {
            var parts = path.Split('\\');
            var output = String.Join("\\", parts, 0, parts.Length);
            var endIndex = (parts.Length - 1);
            var startIndex = endIndex / 2;
            var index = startIndex;
            var step = 0;
    
            while (output.Length >= maxLength && index != 0 && index != endIndex)
            {
                parts[index] = "...";
                output = String.Join("\\", parts, 0, parts.Length);
                if (step >= 0) step++;
                step = (step * -1);
                index = startIndex + step;
            }
            return output;
        }
    

提交回复
热议问题