此代码仅适用于同一包中的类。我需要从绝对路径加载文件,如c:/home/lpl/asm/hello.class 任何人请帮我这样做
InputStream in=ASMHelloWorld.class.getResourceAsStream("/aasm/ClassModificationDemo.class");
ClassReader classReader=new ClassReader(in);
答案 0 :(得分:1)
从绝对路径加载文件:
String path = "c:/home/lpl/asm/hello.class";
InputStream in = new FileInputStream(path);
ClassReader classReader = new ClassReader(in);
显然硬编码这样的路径会严重限制可移植性,因此应该从命令行参数,用户输入,属性文件等获取path
。
答案 1 :(得分:-1)
你为什么要这样?如果您执行此类操作,则禁用在其他计算机上使用该程序的功能,除非您重新创建该文件夹结构。
对我来说似乎是一个重复的问题,只是使用了不同的文件:Use Absolute path for ClassLoader getResourceAsStream()