回 帖 发 新 帖 刷新版面

主题:如何能够按字节读取从头到尾

有的文件使用了文件结束符,如何才能将这种文件用二进制方法读取完全??

回复列表 (共9个回复)

沙发

想学习学习,请楼主把你的那个(提前有)文件结束符的文件样本上传共享一下,可否?

板凳

所谓文件结束符就是CHR(26)所代表的字符!

3 楼

有这回事儿?CHR(26)不是控制字符SUB吗???

4 楼

[文件结束符]
是什么东西呀?!~

5 楼

试试下面的,也许对你有用。
Option Explicit
Private Sub Command1_Click()     '产生一个提前有文件结束符chr(26) 的测试文件
Dim s As String
s = "the data before the chr(26)!" & Chr(26) & "the data after the chr(26)!"
Open "e:\test.txt" For Output As #1
    Write #1, s
Close #1
End Sub

Private Sub Command2_Click()
Dim s As String
    Open "e:\test.txt" For Input As #2  'input模式不能读取完整,遇到chr(26)就结束了
        Input #2, s
    Close #2
    Text1.Text = s      's="the data before the chr(26)!"
End Sub

Private Sub Command3_Click()
Dim temp() As Byte
ReDim temp(FileLen("e:\test.txt") - 1) As Byte
    Open "e:\test.txt" For Binary As #3
        Get #3, , temp
    Close #3
Text1.Text = StrConv(temp, vbUnicode)    '可以正确读取chr(26)

'Open "e:\test2.txt" For Binary As #4    '另存为test2.txt
'    Put #4, , temp
'Close #4
End Sub

6 楼

二进制文件读取方式,应该是按文件的字节数来控制的吧

7 楼

能详细解释一下代码吗?

8 楼

胡说  谁跟你说CHR(26)就是结束的???

9 楼

谢谢大家,现在结贴!

我来回复

您尚未登录,请登录后再回复。点此登录或注册