如何在VB.NET中访问随机访问文件

如何在VB.NET中访问随机访问文件,vb.net,Vb.net,我正在尝试使用VB.NET打开随机访问文件。在尝试访问文件时,我收到以下错误消息错误75(访问路径…被拒绝)。有什么我必须改变才能解决的吗 Structure StdSections 'UPGRADE_WARNING: Fixed-length string size must fit in the buffer. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="3C1E4426

我正在尝试使用VB.NET打开随机访问文件。在尝试访问文件时,我收到以下错误消息
错误75(访问路径…被拒绝)
。有什么我必须改变才能解决的吗

Structure StdSections
    'UPGRADE_WARNING: Fixed-length string size must fit in the buffer. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="3C1E4426-0B80-443E-B943-0627CD55D48B"'
    <VBFixedString(15), System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst:=15)> Public A() As Char 'BEAM  --- complete beam designation          15
    'UPGRADE_WARNING: Fixed-length string size must fit in the buffer. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="3C1E4426-0B80-443E-B943-0627CD55D48B"'
    <VBFixedString(2), System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst:=2)> Public B() As Char 'DSG   --- shape  ie "W" or "C"                2
    Dim C As Single 'DN    --- nominal depth of section            4
    Dim d As Single 'WGT   --- weight                              4
    .
    .
    .
End structure
''Note 'File1' holds complete path!
        Public std As StdSections
        Dim i,ffr,fLength,lastmembNo as integer
        sectionFound = False

        fLength = Len(std)
        If fLength = 0 Then fLength = 168 ' 177
        ffr = FreeFile()
        'FileOpen(ffr, File1, OpenMode.Random, , , fLength)
        FileOpen(ffr, File1, OpenMode.Random, OpenAccess.ReadWrite, OpenShare.LockRead, fLength)
        >>Error 75 (Access to the path ....is denied) << path is perfectly good!!!
        lastmembNo = CInt(LOF(ffr)) \ fLength
        'ReDim std(lastmembNo)
        For i = 1 To lastmembNo
            FileGet(ffr, std, i)
               If Trim(memberID) = Trim(std.A) Then
                    sectionFound = True
                end if
        next i
结构标准部分
'升级\u警告:固定长度字符串大小必须适合缓冲区。点击查看更多信息:“ms”-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword=“3C1E4426-0B80-443E-B943-0627CD55D48B”
公共A()作为字符光束——完整光束名称15
'升级\u警告:固定长度字符串大小必须适合缓冲区。点击查看更多信息:“ms”-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword=“3C1E4426-0B80-443E-B943-0627CD55D48B”
公共B()作为字符DSG---形状即“W”或“C”2
尺寸C为单个“DN”——截面4的标称深度
尺寸d为单件WGT--重量4
.
.
.
端部结构
''注意'文件1'保存完整路径!
公共std作为标准部分
Dim i、ffr、FLENGHT、lastmembNo作为整数
sectionFound=False
长度=长度(标准)
如果FLENGHT=0,则FLENGHT=168'177
ffr=FreeFile()
'文件打开(ffr、文件1、OpenMode.Random、fLength)
FileOpen(ffr、File1、OpenMode.Random、OpenAccess.ReadWrite、OpenShare.LockRead、fLength)

>>错误75(对路径…的访问被拒绝)要检查的第一件事是对相关文件的权限。“拒绝访问路径”并不意味着路径不正确或无效,而是意味着您没有权限,或者文件被另一个进程锁定。还有一种可能是路径变量(示例中的File1)输入错误。

Microsoft在尝试使类似VB6的代码在.NET中工作时没有帮我们一个忙。使用适当的.NET工具(文件流)重写文件访问,并从字节缓冲区手动解析字段。我更改了实现,但现在在读取随机访问文件时遇到另一个错误。我发布了一条新的帖子,如果你知道发生了什么?我更改了我的实现,但现在在读取随机访问文件时遇到另一个错误。我发布了一条新的帖子,如果你知道发生了什么?