[英]VB.NET Auto Save Text File Mulitple
所以我在不使用保存文件对话框的情况下声明保存文本文件。
Private Sub strt2_Click(sender As Object, e As EventArgs) Handles strt2.Click
Directory.CreateDirectory("Result/Combolist")
Using sw As System.IO.StreamWriter = New System.IO.StreamWriter("Result/Combolist/" & "\Email&Pass[" & time & "].txt")
sw.WriteLine(rslt1.Text)
End Using
End Sub
所以我想制作不替换文本文件的保存文本文件,我可以保存多个文本文件,我希望每次单击开始按钮都会创建新的保存文本文件。 我可以使用什么代码?
看起来您正在尝试使用当前时间来区分文件名,这通常是合理的,所以也许这样的事情会更好:
Private Sub strt2_Click(sender As Object, e As EventArgs) Handles strt2.Click
Dim timeStamp = DateTime.UtcNow.ToString("yyyyMMdd-HHmmss")
Dim fileName = "Email&Pass[" & timeStamp & "].txt"
Dim baseDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
Dim resultDir = (Directory.CreateDirectory(Path.Combine(baseDir, "Result\Combolist"))).FullName
File.WriteAllText(Path.Combine(resultDir, fileName), rslt1.Text)
End Sub
使用文件时最好使用绝对路径,否则当它在其他地方寻找您认为它正在寻找的地方时可能会造成混淆。
如果您想获取文件名中包含最新时间的文件,您可以执行以下操作:
Imports System.IO
Imports System.Text.RegularExpressions
' other code here maybe '
Private Sub rslt_Click(sender As Object, e As EventArgs) Handles rslt.Click
Dim baseDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
Dim resultDir = Path.Combine(baseDir, "Result\Combolist")
Dim latestTimeStamp = ""
Dim re As New Regex("^Email&Pass\[([0-9-]+)\]$")
For Each f In Directory.EnumerateFiles(resultDir, "*.txt").Select(Function(g) Path.GetFileNameWithoutExtension(g))
If re.IsMatch(f) Then
Dim m = re.Match(f)
If m.Groups(1).Captures(0).Value > latestTimeStamp Then
latestTimeStamp = m.Groups(1).Captures(0).Value
End If
End If
Next
If latestTimeStamp <> String.Empty Then
Dim latestFile = Path.Combine(resultDir, "Email&Pass[" & latestTimeStamp & "].txt")
Process.Start(latestFile)
End If
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.