#java-class #parser #file #class-parser

classfmt

用于解析 Java 类文件的库

8 个版本 (4 个重大变更)

0.5.1 2021年5月18日
0.5.0 2021年5月18日
0.4.1 2021年5月18日
0.3.1 2021年5月17日
0.1.0 2021年2月25日

23#java-class

Apache-2.0 许可

57KB
1.5K SLoC

classfmt

(这甚至远未达到生产就绪状态)

用于解析 Java 类文件的库。

use std::{fs::File, io, io::Read, path::Path};

use classfmt::ClassParser;

fn main() -> io::Result<()> {
    let mut f = File::open(Path::new("./tests/Fields.class"))?;
    let mut buf = Vec::with_capacity(64);
    f.read_to_end(&mut buf)?;

    let class = ClassParser::from_bytes(&buf).parse().unwrap();

    println!("{:#?}", class);
    Ok(())
}

依赖项

~105KB