vb.net не может найти файл после того, как файл был удален и сохранен удаленным компьютером - PullRequest
0 голосов
/ 03 сентября 2018

Я использую веб-страницу для создания файла на веб-сервере для управления устройством Arduino. Файл создается без проблем. Проблема существует, когда приложение VB, управляющее устройством Arduino, читает файл и затем удаляет файл. После того, как VB удалит файл, веб-приложение заново создаст тот же файл с новыми данными. Приложение VB не видит новый файл. Он все еще думает, что файл был удален.

Вот код:

Private Sub TimerCheck4CameraFile_Tick(sender As Object, e As EventArgs) Handles TimerCheck4CameraFile.Tick
    Try
        ' Check if file exists if it doesn't leave this method.
        Dim DirectoryList As New IO.DirectoryInfo("C:\inetpub\wwwroot")
        Dim ArrayOfFilesFileInfo As IO.FileInfo() = DirectoryList.GetFiles("ServoDirection2Move.txt")
        Dim Fi As IO.FileInfo

        For Each Fi In ArrayOfFilesFileInfo
            If String.Compare("ServoDirection2Move.txt", Fi.Name) <> 0 Then 
                TextBox1.Text += vbCrLf + "Did NOT Find File."
                Exit Sub ' We DID NOT find the file so get out!
            End If
        Next
    Catch ex As Exception
        LabelStatus.Text = "Catch ex 1: " + ex.Message
    End Try

    ' Read in the file.
    Dim FileRead As String
    Try
        ' **POSSIBLE ISSUE HERE**.
        FileRead = My.Computer.FileSystem.ReadAllText("C:\inetpub\wwwroot\ServoDirection2Move.txt")
        ' Need better way to read txt file. It fails after file is deleted and can not read second file.

        TextBox1.Text += vbCrLf + "Moving Value: " + FileRead
    Catch ex As Exception
        LabelStatus.Text = "Catch ex: " + ex.Message
    End Try

    ' Check if it was UP.
    If String.Compare("UP", FileRead) = 0 Then
        ' Delete the file to prepare for a new one.
        System.IO.File.Delete("C:\inetpub\wwwroot\ServoDirection2Move.txt")
        ' Move servo to proper location.
        Call PanningUp.PerformClick()
        LabelStatus.Text = "Done Moving: UP"  ' Update Status Bar.
        TimerCheck4CameraFile.Enabled = True ' Turn timer back on.
        Exit Sub
    End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...