Простите, но это какой-то испорченный код.
Dim _o As String = "C:\" & Now.Ticks & getNewFileName()
станет ...
Dim _o As String = "C:\" & Now.Ticks & Now.Ticks.ToString & fi.Name
Пример результата "C: \" "634015010433498951" "634015010433498951" "FileName.txt", вероятно, не то, что вы ожидаете, если только вынамереваемся вычесть два числа тиков, чтобы определить, сколько времени потребовалось для заполнения FileInfo.
Повреждение FileStream может быть проблемой кодирования, отсутствием одной длины файла или даже длинного имени файла в глубоком пути.проблема.Вместо использования FileStream этот код должен работать нормально:
Dim sourceFile As String = TextBox1.text
Dim fi As New System.IO.FileInfo(sourceFile)
Dim destFile = "C:\" & Now.Ticks & fi.Name
fi.CopyTo(destFile)
'open the new document
System.Diagnostics.Process.Start(destFile)