繁体   English   中英

Java,在二进制文件输入中搜索long

[英]Java, Search for a long in the binary file input

Public static void main(String[] args) {
  File inFile = null;
  if (0 < args.length) {
      inFile = new File(args[0]);
  }

    BufferedInputStream bStream = null;

    try {

        int read;
        bStream = new BufferedInputStream(new FileInputStream(inFile));

        while ((read = bStream.read()) > 0) {
            getMarker(read, bStream);
            System.out.println(read);
        }
    }
    catch (IOException e) {
        e.printStackTrace();
    } 

    finally {
        try {
            if (bStream != null)bStream.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

private static void getMarker(int read, BufferedInputStream bStream) {

}

我想在bufferedInputStream中找到长1234567890。 我可以在bufferedInputStream中搜索长类型吗? (我不确定是否需要将“ read”作为参数。我对此表示怀疑,可以将其删除)。 如何搜索bufferedInputStream?

如果数字为8字节对齐且为大字节序,则可以使用DataInputStream。

如果不是,我建议使用内存映射文件并使用ByteBuffer.order将顺序更改为little endian。 这将允许您以任何希望的方式访问文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM