一个文件中既有二进制数据,又问中文字符,怎么读取?例如,我往一个exe文件的末端写入几个汉字,然后下载回来,怎么办?用byte流?char流?

解决方案 »

  1.   

    招聘
    java工程师
    java jsp servlet spring hibernate js css
    上面会一部分既可qq 283765999 
    地点:北京
      

  2.   

    >例如,我往一个exe文件的末端写入几个汉字,然后下载回来,怎么办?>用byte流?char流?程序是用来处理有法依的东西的,楼主任意破坏,程序就没有办法写了。
      

  3.   

    我能理解楼主往 exe 文件里加东西的苦衷,有时候难免会有一些非常的问题要用非常的办法。可以考虑在写中文字符的时候,顺便把它的编码方式、字节长度等信息也写进去,这样用 byte 方式读出来之后就能够恢复中文字符串了。
      

  4.   

    ;(exe只是个例子而已二进制文件中包含char的二字节字符是常有的事java功能那么强大,难道还读不出来?
      

  5.   

    统统用byte读,然后判断是byte还是char,
      

  6.   

    Java中的任何一个字符都占2个字节,当读到该字符的时候就用int i = in.readInt(),然后char c = (char) i。 c 就是这个中文字符(任何字符)。
      

  7.   

    无论是php(file_get_contents)、perl,还是asp (fso.readall)
    都有一个函数 把内容全部读入到一个变量中
    即使这个文件的内容同时包含二进制和中文字符 也不会出错java怎么实现呀?
      

  8.   

    其实用用byte流还是char流下都没问题,问题是你怎么提取汉字,我觉得你在写的时候在固定字节位置应该有些的信息,例如在头部前四个字节或更多字节表示汉字所在偏移量等。下载下来读的时候就可以根据偏移量分离出文字和程序