无法打开txt文件路径

时间:2019-11-14 23:35:02

标签: vb.net file path

当我对文本文件的路径进行硬编码时,此代码可以完美运行。但是正如建议的那样,最好不要硬编码。我以这种方式尝试过,即使该txt文件存在,也仍然找不到。

Dim Findstring = IO.File.ReadAllText(Directory.GetCurrentDirectory() + " Redmi03-JCO0531-WX_" + DateTime.Now.ToString("yyyyMMdd") + ".txt")
Dim Lookfor As String = Format(Now, "MM/dd/yyyy HH:mm:ss")

'MessageBox.Show(Findstring.ToString())
showdat.Text = Lookfor

If Findstring.Contains(Lookfor) Then
    'MsgBox("Found: " & Lookfor)
    For Each prog As Process In Process.GetProcesses
         If prog.ProcessName = "Redmi03-JCO0531-WX" Then
             prog.Kill()
             Process.Start(Directory.GetCurrentDirectory() + "Redmi03-JCO0531-WX.exe")
         End If
    Next
End If

1 个答案:

答案 0 :(得分:2)

我想你的问题在这一行

Dim Findstring = IO.File.ReadAllText(Directory.GetCurrentDirectory() + " Redmi03-JCO0531-WX_" + DateTime.Now.ToString("yyyyMMdd") + ".txt")

让我们分解一下,看看每个部分的真正含义。

首先在代码文件的顶部添加

Imports System.IO

然后在您的Form类中

Private Sub OPCode()
    Dim dir As String = Directory.GetCurrentDirectory()
    MessageBox.Show(dir)
    Dim TextFileName = " Redmi03-JCO0531-WX_" & DateTime.Now.ToString("yyyyMMdd") & ".txt"
    MessageBox.Show(TextFileName)
    Dim CompletePath = Path.Combine(dir, TextFileName)
    MessageBox.Show(CompletePath)
    Dim Findstring = IO.File.ReadAllText(CompletePath)
End Sub

实际上,您可以添加一个断点并逐步检查代码中的值,而不是检查所有这些愚蠢的消息框。如果第三个MessageBox没有显示文件的实际位置,则它将返回到绘图板。

编辑

编辑以获取桌面上的路径。

Private Sub OPCode()
    Dim dir As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
    MessageBox.Show(dir)
    Dim TextFileName = "ChinaUMS Bank\Redmi05\Redmi03-JCO0531-WX_" & DateTime.Now.ToString("yyyyMMdd") & ".txt"
    MessageBox.Show(TextFileName)
    Dim CompletePath = Path.Combine(dir, TextFileName)
    MessageBox.Show(CompletePath)
    ' Dim Findstring = IO.File.ReadAllText(CompletePath)
End Sub

请注意,您必须对子文件夹进行硬编码。特殊文件夹将获得当前用户的桌面路径。