Java获取文件大小 编号:A3GS_TJ20100105011 描述: 本文讲述了如何在Java下获取文件大小。 例子: NO 技术实现: 导入包: import java.io.File; 实现代码: public class Test { public static void main(String[] args) { // TODO Auto-generat
以下所说的问题前提是编译java code的时候保留 1.方法一 分析class byte code结构,了解方法相关信息都存在什么位置,推荐使用工具jclasslib。 但是如果你只是想得到方法的形参参数名,那也不用去学习、研究了。因为有威武神兽(wendal)已经实现了。具体代码在 https://gist.github.com/2011728 我在使用的过程,发现用eclipse编译的class文件可以被正确解析出来,但是使用javac编译的class文件并不能正确解析,这是为什么呢?其实我一直还不知道它们两个编译的结果是不一样。糗大了。。经wendal指点,java我们都知道,Java中对于基本数据类型作为方法参数时,都是值传递。 那么对象作为方法的参数,又是传递的什么呢? java的方法参数都是传值,没有传引用。很多人都以为是传引用,而且这种错误的观点很普遍,今天在这里具体分析一下。方法参数有基本类型,如intc生成的class文件用这个工具得到的变量顺序有问题,是按照变量的使用顺序排序的。那如何到得一个变量定义的顺序呢。我用jclasslib观察了一下,有了新的发现,在LocalVariableTable中有个index属性,通过它排序后正好是正确的顺序。我修改后的代码在 https://gist.github.com/2011836 2.方法二 使用开源工具,例如asm等强大的字节码操作工具。 代码实现在 https://gist.github.com/2419358 本文为作者原创,转载请注明出处,与你分享我的快乐 http://www.cnblogs.com/weirhp