获得指定目录下文件的名字(防止重名) == 比如返回:开发计划[1].txt - FileUploadToOnlyFileName
2017-05-05 15:25:41 访问(1316) 赞(0) 踩(0)
/// <summary>
/// 获得指定目录下文件的名字(防止重名) == 比如返回:开发计划[1].txt - FileUploadToOnlyFileName
/// </summary>
/// <param name="dirName">目录名</param>
/// <param name="fileName">文件名无后缀,比如:开发计划</param>
/// <param name="fileExt">文件后缀,比如:.txt</param>
/// <param name="preName">文件加上序号后的前缀标识,如:[</param>
/// <param name="postName">文件加上序号后的前缀标识,如:]</param>
/// <returns>比如:开发计划.txt 或 开发计划[1].txt</returns>
public string FileUploadToOnlyFileName
(
string dirName,
string fileName,
string fileExt,
string preName,
string postName
)
{
if (fileName == null || fileName.Length == 0)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "传入的字符串参数:"
+ "fileName"
+ "为null或trim后为空。"
);
}
if (dirName == null || dirName.Length == 0)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "传入的字符串参数:"
+ "dirName"
+ "为null或trim后为空。"
);
}
dirName = dirName.Trim();
if (dirName.Length == 0)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "传入的字符串参数:"
+ "dirName"
+ "为null或trim后为空。"
);
}
// 判断和移除/或\\
if (dirName.EndsWith("/") || dirName.EndsWith("\\"))
{
dirName = dirName.Substring(0, dirName.Length - 1);
}
if (dirName.Length == 0)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "传入的字符串参数:"
+ "dirName"
+ "为null或trim后为空。"
);
}
if (!Directory.Exists(dirName))
{
return fileName + fileExt;
}
string saveFileName = fileName + fileExt;
string fullFileName = dirName + "\\" + saveFileName;
if (!File.Exists(fullFileName))
{
return saveFileName;
}
for (int i = 0; i < 99999; ++i)
{
saveFileName = fileName + preName + i.ToString() + postName + fileExt;
fullFileName = dirName + "\\" + saveFileName;
if (!File.Exists(fullFileName))
{
return saveFileName;
}
}
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "传入的字符串参数:"
+ "dirName = (" + dirName + ")"
+ "目录下文件过多"
);
}
标签:
获得指定目录下文件的名字(防止重名) == 比如返回:开发计划[1].txt - FileUploadToOnlyFileName 


上一条:
下一条:
相关评论
发表评论