System.IO.IOException: процесс не может получить доступ к файлу FilePath, так как он используется другим процессом. File.Copy - PullRequest
0 голосов
/ 08 ноября 2019

Я использую функцию File.Copy для копирования файла из одного местоположения в другое в цикле For Loop, поскольку мы должны скопировать этот файл в 200 разных местах. Но я получаю ошибку в середине процесса. Ниже приведен код, который я использовал.

 If File.Exists(FromfileLocation) Then
   File.Copy(FromfileLocation, TofileLocation, True)
 End If

1 Ответ

1 голос
/ 08 ноября 2019

Вы можете сделать это по-другому, без проблемы «используется другим процессом»

Попробуйте это:

   Public Shared Sub CopyMyFile(FromfileLocation As String, TofileLocation As String)

    Try

        If File.Exists(FromfileLocation) Then
            Using fs As FileStream = File.OpenRead(FromfileLocation)
                Using sw As FileStream = File.Open(TofileLocation, FileMode.OpenOrCreate)
                    Dim b(1024 * 4) As Byte
                    Do
                        Dim readed As Integer = fs.Read(b, 0, b.Length)
                        If readed > 0 Then
                            sw.Write(b, 0, readed)
                        Else
                            Exit Do
                        End If
                    Loop
                End Using
            End Using
        End If

    Catch ioEx As FileNotFoundException
        Console.WriteLine(ioEx.Message)
    End Try

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...