我现在做一个电信计时计费系统,需要读取系统日志,但是日志的格式是二进制的, 用io怎么去读啊 !!!??

解决方案 »

  1.   

    用 FileInputStream 来读二进制文件,但是你得知道这个二进制文件的格式,并且进行解析,否则读出来只是二进制数据。
      

  2.   

    java处理流的类挺多的啊用InputStream读进来不就行了?
      

  3.   

    public class FileStream { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    try {
    FileOutputStream out = new FileOutputStream("Hello.txt");       
    out.write("hello".getBytes());
    out.close();
    byte[] buf = new byte[1024];
    File f = new File("Hello.txt");
    FileInputStream in = new FileInputStream(f);
    int len = in.read(buf);
    System.out.println(new String(buf, 0, len));
    in.close();
    } catch (Exception e) {
    e.printStackTrace();
    } }}
    我只是给你举个例子!
      

  4.   

    关键不是txt文件  是个二进制文件 是不是必须知道二进制的编码啊 
        2楼麻烦能不能举个列子不  比如说是UTF-8 格式呢   谢了!
      

  5.   

    把5楼的Hello.txt改成Hello.bin 或者Hello.data这样你就不会有误导了吧~~~
    其实都是一样的。
      

  6.   

    你试试先用ultraEdit把文件另存为utf-16格式的,然后一次读取两个字节作为一个字符(UTF-16格式对字符的保存方式),再转换成你想要的文字
      

  7.   

    ByteArrayInputStream
    或 FileInputStream 不行吗?
      

  8.   

    java解析,只有实现知道了它的组成方法,数据结构,才能进行分解读取...
    java io部分确实很复杂...
      

  9.   

    看你的数据是什么格式的,一般是按照读取的时候顺序为 FileinputStream
    FileReader