■ 파일 경로 축약하기 예제

----------------------------------------------------------------------------------------------------

using System;

 

string sourcePath = @"D:\ARCA\DSCORE.COMMON\PROCESS\ProcessHelper.cs";

string targetPath = ShortenFilePath(sourcePath, 30);

 

Console.WriteLine("소스 파일 경로 : {0}", sourcePath);

Console.WriteLine("타겟 파일 경로 : {0}", targetPath);

----------------------------------------------------------------------------------------------------

 

■ 파일 경로 축약하기

----------------------------------------------------------------------------------------------------

using System;

using System.Text;

using System.Linq;

 

#region 파일 경로 축약하기 - ShortenPath(fullFilePath, targetLength)

 

/// <summary>

/// 파일 경로 축약하기

/// </summary>

/// <param name="fullFilePath">완전한 파일 경로</param>

/// <param name="targetLength">타겟 길이</param>

/// <returns>축약 파일 경로</returns>

public string ShortenFilePath(string fullFilePath, int targetLength)

{

    string        targetPath = fullFilePath;

    StringBuilder stringBuilder;

    string[]      partialPathArray;

    int           partialLength;

 

    if(targetPath.Length > targetLength)

    {

        partialPathArray = targetPath.Split('\\');

 

        partialLength = targetLength - 3 - (targetPath.Length - targetPath.LastIndexOf('\\'));

 

        stringBuilder = new StringBuilder();

 

        stringBuilder.Append(targetPath.Take(partialLength).ToArray());

 

        stringBuilder.AppendFormat("...\\{0}", partialPathArray[partialPathArray.Length - 1]);

 

        targetPath = stringBuilder.ToString();

    }

 

    return targetPath;

}

 

#endregion

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG