各位高人:
    关于VB中文件的读出和写入,代码有错误,请指教.以下是源代码:
Private Sub Command4_Click()
        Dim s As String, i As Integer
        Dim j As Integer        MkDir "E:\毕业设计\程序\VB 练习\packet" '在该目录下建立packet文件夹
          '进行文件分割
        FileName = "E:\毕业设计\程序\VB 练习\lgpacket"
        fileId1 = FreeFile
        filename1 = "E:\毕业设计\程序\VB 练习\pa"
         Dim fileLength As Long
        fileId = FreeFile
        fileLength = 65535 'FileLen(fileName)
        ReDim buffer(fileLength) As Byte
        Open FileName For Binary As fileId
(错误处)Open filename1 For Binary Access Read Write As fileId1
             Get #fileId, , Char
             Put #fileId1, , Char
          Close fileId1
        Close fileId
End Sub
运行时,机器报错"文件已打开".请问怎么改.
谢谢.

解决方案 »

  1.   

    Private Sub Command4_Click()
            Dim s As String, i As Integer
            Dim j As Integer        MkDir "E:\毕业设计\程序\VB 练习\packet" '在该目录下建立packet文件夹
              '进行文件分割
            FileName = "E:\毕业设计\程序\VB 练习\lgpacket"
            fileId1 = FreeFile
            filename1 = "E:\毕业设计\程序\VB 练习\pa"
             Dim fileLength As Long        fileLength = 65535 'FileLen(fileName)
            ReDim buffer(fileLength) As Byte
            Open FileName For Binary As fileId        fileId = FreeFile
    (错误处)Open filename1 For Binary Access Read Write As fileId1
                 Get #fileId, , Char
                 Put #fileId1, , Char
              Close fileId1
            Close fileId
    End Sub
      

  2.   

    freefile获得的id当时不用,过时做废!改成下面的,分别打开:Private Sub Command4_Click()
            Dim s As String, i As Integer
            Dim j As Integer        fileLength = 65535 'FileLen(fileName)
            ReDim buffer(fileLength) As Byte        MkDir "E:\毕业设计\程序\VB 练习\packet" '在该目录下建立packet文件夹
              '进行文件分割
            FileName = "E:\毕业设计\程序\VB 练习\lgpacket"
            fileId1 = FreeFile
            filename1 = "E:\毕业设计\程序\VB 练习\pa"        Open FileName For Binary As fileId  '将这句放在前面         Dim fileLength As Long        fileId = FreeFile
            Open filename1 For Binary Access Read Write As fileId1
                 Get #fileId, , Char
                 Put #fileId1, , Char
              Close fileId1
            Close fileId
    End Sub