java.io.File的jar在哪里?

时间:2013-10-12 12:02:37

标签: java android javap

当我需要获取android.content.ContextWrapper的方法签名时,我会转到

“C:\ Program Files(x86)\ Android \ android-sdk \ platforms \ android-18”其中放置了android.jar然后执行

javap -s -classpath android.jar android.content.ContextWrapper > out.txt

现在,我需要获取java.io.File的方法签名。对应的.jar是如何命名的?

4 个答案:

答案 0 :(得分:2)

它出现在rt.jar。您可以使用JarFinder查找jar和类。

它出现在jdk安装目录的lib文件夹中。

答案 1 :(得分:2)

这是来自JRE或JDK的rt.jar,即JRE内的lib。鉴于您使用的是Windows,我会前往:

C:\program files\java\jdk1.7.0_25\jre\lib

表示JDK(将位置更改为JDK)。

android.jar 拥有该文件,但前者应该足以支持非Android实现。

答案 2 :(得分:2)

从Android SDK 16开始(我在Android 18中未对此进行测试)android.jar也有java.io.File类。

尝试将其打开为ZIP文件并查看它有哪些文件。

ContentWrapper位于android/content文件夹中。

File存在于java/io文件夹中。

以下是android.jar java.io.File

的javap输出的前几行
Compiled from "File.java"
public class java.io.File implements java.io.Serializable, java.lang.Comparable<java.io.File> {
  public static final char separatorChar;
    Signature: C
  public static final java.lang.String separator;
    Signature: Ljava/lang/String;
  public static final char pathSeparatorChar;
    Signature: C
  public static final java.lang.String pathSeparator;
    Signature: Ljava/lang/String;
  static final boolean $assertionsDisabled;
    Signature: Z
  int getPrefixLength();
    Signature: ()I

  public java.io.File(java.lang.String);
    Signature: (Ljava/lang/String;)V

  public java.io.File(java.lang.String, java.lang.String);
    Signature: (Ljava/lang/String;Ljava/lang/String;)V

答案 3 :(得分:1)

它出现在您正在使用的Java版本的java runtime library中。对我来说,它在

/home/aniket/jdk1.7.0_11/jre/lib/rt.jar

相应检查。