我的文件传输应用程序现在正在运行,以它应该的方式传输文件。但是我遇到了另一个问题,我相信stackoverflow中的某个人可以解决这个问题。
当我第一次传输文件时,在目标位置没有任何重复或者在程序运行时再次传输同一文件以覆盖现有的重复文件时,不会发生此问题。但是当我关闭程序然后重新打开它以再次传输相同的文件时,在之前传输的目标位置上存在文件的现有副本,就会出现问题。
我收到错误UnauthorizedAccessException: Access to the path denied
我不认为这是用户权限问题,因为我在管理员帐户中运行该软件。但当然,我对此并不是百分之百确定。如果我的假设错了,请纠正我。
有关于此的任何建议吗?我相信,我可以通过使用File.Exist
结合一些代码来解决这个问题,但我敢打赌,有更好的方法可以解决这个问题。
这是我的代码。
'This is where the error occurs; in the initialization of fileStream
'Maybe this has something to do with FileAccess and FileMode? I'm not sure.
Using fileStream As New FileStream(FilePath, FileMode.Create, FileAccess.Write)
FileSharingStatusBar.Panels.Item(1).Text = "Receiving file . . ."
Do Until TotalData = FileLength
If ReadBytes = 0 Then
fileStream.Close()
FileTransferInterrupted = True
Exit Do
Else
ReadBytes = ClientSocket.GetStream.Read(FileData, 0, FileData.Length())
fileStream.Write(FileData, 0, ReadBytes)
TotalData += ReadBytes
End If
Loop
End Using
答案 0 :(得分:0)
NetworkStream.Read
和NetworkStream.Write
,并将其替换为BinaryReader.ReadString
和BinaryWriter.Write
。这样,处理文件传输和日志记录的过滤就变成了一个,避免了网络传输过程中的混淆。