一、概述
在实际开发中,如果要创建的文件名或文件夹名称不确定,可以随机生成一个文件名或文件夹名,也可生成固定的。
1、GUID
Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) 。 GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于指示产品的唯一性。Guid结构的一个新实例,该方法的语法格式如下:
Public static Guid NewGuid()
参数说明:返回值:新的Guid对象。
格式:GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个32位十六进制数。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。
Guid.ToString() 里面可以添加下面几个参数,“N”,“D”,“B”,“P”,“X”,若没有参数则默认为D。
System.Guid.NewGuid().ToString("N"); //32位字符串(没有短横线)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
System.Guid.NewGuid().ToString("D"); //连字符分隔的32位字符串
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
System.Guid.NewGuid().ToString("B"); //在大括号中、由连字符分隔的32位字符串
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
System.Guid.NewGuid().ToString("P"); // 在圆括号中、由连字符分隔的32位字符串
(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
2、FolderBrowserDialog
功能:工具中对话框的一个控件,提示用户选择文件夹
常用属性:
FolderBrowserDialog.Description:表示获取或设置对话框中在树形控件上显示的说明文本。
FolderBrowserDialog.RootFolder:表示获取或设置从其开始浏览的根文件夹。
FolderBrowserDialog.SelectedPath:表示获取或设置用户选定的路径。
FolderBrowserDialog.ShowDialog:该方法的返回值类型为DialogResult,如果用户在对话框中单击该按钮,则为DialogResult.OK,否则为DialogResult.Cancel。
3、file.create
功能:创建文件
格式:File.Create(FilePath)
注意:有时,创建文件后,再次处理该文件报错。解决办法:添加代码File.Create(FilePath).Close();或File.Create(path).Dispose();创建完后关闭文件或释放文件即可。
4、Directory.CreateDirectory
功能:目录文件夹创建
格式:Directory.CreateDirectory()
可以创建多级文件夹Directory.CreateDirectory(@"VSCreate\Dir");
二、实现过程
1、创建一个新项目,将其命名为“RandomFileName”。
2、更改默认窗体Form1的Name属性为“Frm_Main”,更改默认窗体Form1的Text属性为“生成随机文件名或文件夹名”。在该窗体中添加2个button控件,分别用来以随机名称创建文件和文件夹,分别命名为“创建文件”和“创建文件夹”。
3、编辑 “创建文件”按键代码:
private void btnfile_Click(object sender, EventArgs e)
{
FolderBrowserDialog P_FolderBrowserDialog =new FolderBrowserDialog();//创建文件夹对话框对象
if (P_FolderBrowserDialog.ShowDialog()==DialogResult.OK) //判断是否选择文件夹,即单击创建文件按键{
// File.Create(P_FolderBrowserDialog.SelectedPath + "\\" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".txt");//根据DateTime.Now生成文件名,文件名称的格式为年月日时分秒
File.Create(P_FolderBrowserDialog.SelectedPath + "\\" +Guid.NewGuid().ToString()+ ".txt");//根据GUID生成文件名,生成的文件名的名称格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
}
}
特殊说明:(1)将“.txt”换为“.docx”即可生成word文件;将“.txt”换为“.pptx”即可生成ppt文件;将“.txt”换为“.xlsx”即可生成excel文件。
(2)若将File.Create(P_FolderBrowserDialog.SelectedPath + "\\" +Guid.NewGuid().ToString()+ ".txt"); 改为File.Create(@"创建的文件"+“.txt”);,则可生成文件名称为“创建的文件”的txt文件,此时的保存目录为对应项目的bin中的debug目录下。
4、同上,编辑 “创建文件夹”按键代码:
private void btnDrictory_Click(object sender, EventArgs e)
{
FolderBrowserDialog P_FolderBrowserDialog = new FolderBrowserDialog();//创建文件夹对话框对象
if (P_FolderBrowserDialog.ShowDialog() == DialogResult.OK)//判断是否选择文件夹
{
//Directory.CreateDirectory(P_FolderBrowserDialog.SelectedPath +"\\" + Guid.NewGuid().ToString()); //根据GUID生成文件夹名,文件夹名为32位xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Directory.CreateDirectory(P_FolderBrowserDialog.SelectedPath + "\\" + DateTime.Now.ToString ("yyyyMMddHHmmss")); //根据DateTime.Now生成文件夹名,文件夹名格式为时间年月日时分秒
}
}