我借助File.Copy()
方法将图像文件从一个文件夹复制到另一个文件夹。
在将复制的图像文件粘贴到文件夹之前,我需要为其提供唯一的文件名。
知道如何实现吗?
Eyossi 的答案应该是公认的解决方案,但另一种选择:-
您可以使用guid创建一个唯一名称(“这样的标识符被重复的可能性非常低。”):
Dim filename As String = Guid.NewGuid().ToString + ".png"
您可以使用Path.GetTempFileName
更多信息: http: //msdn.microsoft.com/en-us/library/system.io.path.gettempfilename (v=vs.100).aspx
链接中的引用:
“在磁盘上创建一个唯一命名的零字节临时文件并返回该文件的完整路径。”
这是另一种方法
fileName = User_Appended_File_Name & "_" & DateTime.Now.ToString("yyyyMMdd_HH_mm_ss")
它将创建一个相当可识别的文件名,并具有知道它何时创建的额外优势,即一个大的时间戳。
编辑:如果文件保存速度快于 1 秒,它将不起作用。
我建议使用Path.GetRandomFileName()
.
先前接受的答案是使用Path.GetTempFileName
which 创建文件。如问题所述,当该文件将成为文件复制操作的目标时,这并不理想。
与 GetTempFileName 不同,GetRandomFileName 不创建文件。当文件系统的安全性至关重要时,应使用此方法而不是 GetTempFileName。
来源: https ://msdn.microsoft.com/en-us/library/system.io.path.getrandomfilename(v=vs.110).aspx
例子:
Imports System.IO
Module Module1
Sub Main()
Dim fileName = Path.GetRandomFileName()
Console.WriteLine("Random file name is " & fileName)
End Sub
End Module
' This code produces output similar to the following:
' Random file name is w143kxnu.idj
您可以使用当前日期时间作为文件名。