我试了一下(linux 9,LANG=en_US.iso885915)
1.// msg = new String(msg.getBytes(), "GB2312");
要把//去掉.因为系统是8859字符集,要转成GB2312
2. out.writeChar(k); //写unicode文件头
要去掉,因为vb不认unicode文件头(VB6+WIN2K)
3.VB的程序如下:
Dim iReadNumber As Integer '读文件号
Dim mem() As Byte 'byte数组
Dim strFileName As String '文件名
Dim lLength As Long '文件长度
'将文件内容读入mem byte数组
iReadNumber = FreeFile
strFileName = "d:\temp\test.txt"
lLength = FileLen(strFileName)
ReDim mem(lLength) As Byte
Open strFileName For Binary As #iReadNumber
Get #iReadNumber, , mem
Close #iReadNumber
MsgBox mem
显示正常,如果你是繁体中文版,可用StrConv转一下试试