< prev index next >

src/java.base/windows/native/libjava/FileOutputStream_md.c

Print this page




  38 /*******************************************************************/
  39 
  40 jfieldID fos_fd; /* id for jobject 'fd' in java.io.FileOutputStream */
  41 
  42 /**************************************************************
  43  * static methods to store field ID's in initializers
  44  */
  45 
  46 JNIEXPORT void JNICALL
  47 Java_java_io_FileOutputStream_initIDs(JNIEnv *env, jclass fosClass) {
  48     fos_fd =
  49         (*env)->GetFieldID(env, fosClass, "fd", "Ljava/io/FileDescriptor;");
  50 }
  51 
  52 /**************************************************************
  53  * Output stream
  54  */
  55 
  56 JNIEXPORT void JNICALL
  57 Java_java_io_FileOutputStream_open0(JNIEnv *env, jobject this,
  58                                     jstring path, jboolean append) {



  59     fileOpen(env, this, path, fos_fd,
  60              O_WRONLY | O_CREAT | (append ? O_APPEND : O_TRUNC));
  61 }
  62 
  63 JNIEXPORT void JNICALL
  64 Java_java_io_FileOutputStream_write(JNIEnv *env, jobject this, jint byte, jboolean append) {
  65     writeSingle(env, this, byte, append, fos_fd);
  66 }
  67 
  68 JNIEXPORT void JNICALL
  69 Java_java_io_FileOutputStream_writeBytes(JNIEnv *env,
  70     jobject this, jbyteArray bytes, jint off, jint len, jboolean append)
  71 {
  72     writeBytes(env, this, bytes, off, len, append, fos_fd);












  73 }
  74 
  75 JNIEXPORT void JNICALL
  76 Java_java_io_FileOutputStream_close0(JNIEnv *env, jobject this) {
  77         handleClose(env, this, fos_fd);
  78 }


  38 /*******************************************************************/
  39 
  40 jfieldID fos_fd; /* id for jobject 'fd' in java.io.FileOutputStream */
  41 
  42 /**************************************************************
  43  * static methods to store field ID's in initializers
  44  */
  45 
  46 JNIEXPORT void JNICALL
  47 Java_java_io_FileOutputStream_initIDs(JNIEnv *env, jclass fosClass) {
  48     fos_fd =
  49         (*env)->GetFieldID(env, fosClass, "fd", "Ljava/io/FileDescriptor;");
  50 }
  51 
  52 /**************************************************************
  53  * Output stream
  54  */
  55 
  56 JNIEXPORT void JNICALL
  57 Java_java_io_FileOutputStream_open0(JNIEnv *env, jobject this,
  58                                     jstring path, jboolean append, jboolean direct) {
  59     if (direct) {
  60         JNU_ThrowIOException (env, "DirectIO is not available on Windows platform!");
  61     }
  62     fileOpen(env, this, path, fos_fd,
  63              O_WRONLY | O_CREAT | (append ? O_APPEND : O_TRUNC));
  64 }
  65 
  66 JNIEXPORT void JNICALL
  67 Java_java_io_FileOutputStream_write(JNIEnv *env, jobject this, jint byte, jboolean append) {
  68     writeSingle(env, this, byte, append, fos_fd);
  69 }
  70 
  71 JNIEXPORT void JNICALL
  72 Java_java_io_FileOutputStream_writeBytes(JNIEnv *env,
  73     jobject this, jbyteArray bytes, jint off, jint len, jboolean append)
  74 {
  75     writeBytes(env, this, bytes, off, len, append, fos_fd);
  76 }
  77 
  78 JNIEXPORT void JNICALL
  79 Java_java_io_FileOutputStream_writeBytesD(JNIEnv *env, 
  80     jobject this, jbyteArray bytes, jint off, jint len, jboolean append) {
  81     JNU_ThrowIOException (env, "DirectIO is not available on Windows platform!");
  82 }
  83 
  84 JNIEXPORT jint JNICALL
  85 Java_java_io_FileOutputStream_getPageSize0(JNIEnv *env, jobject this) {
  86     JNU_ThrowIOException (env, "DirectIO is not available on Windows platform!");
  87     return 0;
  88 }
  89 
  90 JNIEXPORT void JNICALL
  91 Java_java_io_FileOutputStream_close0(JNIEnv *env, jobject this) {
  92         handleClose(env, this, fos_fd);
  93 }
< prev index next >