java.io.FileOutputStream.write(int,boolean)本机方法的源代码

时间:2018-10-18 17:53:24

标签: java jvm java-native-interface native

如问题所述,我正在寻找java.io.FileOutputStream#write(int, boolean)本机方法的源代码。我正在Ubuntu 16.04上,并且正在使用OpenJDK8。我已经从http://hg.openjdk.java.net/jdk8源下载了OpenJDK 8和OpenJDK 8 HotSpot项目。我可以找到其他本机方法的实现(例如System.currentTimeMillisSystem.arrayscopy),但是找不到FileOutputStream.write(int, boolean)

我在/usr/lib/jvm/java-8-oracle/jre/lib/amd64中看到很多库。您能否让我知道所有包含Java运行时源代码的地方,并帮助我找到FileOutputStream.write(int, boolean)的实现?

1 个答案:

答案 0 :(得分:1)

在一个名为src/java.base/unix/native/libjava/FileOutputStream_md.c的文件中,有两种实现方式,一种用于unix,另一种用于Windows。

JNIEXPORT void JNICALL
Java_java_io_FileOutputStream_write(JNIEnv *env, jobject this, jint byte, jboolean append) {
    writeSingle(env, this, byte, append, fos_fd);
}