实验内容:
要求用户输入一个目录名。如果输入的是有效目录,列出该目录下所有文件和目录:对于目录,名字用[]括起来;对于文件,在文件名后用三个数字加一个字母表示其文件大小,如123B, 123K, 123M等。
源代码
private static string GetFileSize(long filesize)
{
try
{
if (filesize < 0)
{
return "0";
}
else if (filesize >= 1024 * 1024 * 1024) //文件大小大于或等于1024MB
{
return string.Format("{0:0.00} G", (double)filesize / (1024 * 1024 * 1024));
}
else if (filesize >= 1024 * 1024) //文件大小大于或等于1024KB
{
return string.Format("{0:0.00} M", (double)filesize / (1024 * 1024));
}
else if (filesize >= 1024) //文件大小大于等于1024bytes
{
return string.Format("{0:0.00} K", (double)filesize / 1024);
}
else
{
return string.Format("{0:0.00} B", filesize);
}
}
catch (Exception ex)
{
throw ex;
}
}
static void Main(string[] args)
{
string[] strNames = Directory.GetFiles("C:\\Users\\86153\\Desktop\\chnjsda");//文件
for(int i = 0; i < strNames.Length; i++)
{
FileInfo t = new FileInfo(strNames[i]);//获取文件
Console.WriteLine(strNames[i].Split('\\')[strNames[i].Split('\\').Length-1]+" "+ GetFileSize(t.Length));
}
string[] strNames1 = Directory.GetDirectories("C:\\Users\\86153\\Desktop\\chnjsda");//文件夹
for (int i = 0; i < strNames1.Length; i++)
{
Console.WriteLine("["+strNames1[i].Split('\\')[strNames1[i].Split('\\').Length - 1] + "]");
}
Console.ReadKey();
}