natfilechannelimpl.cc

来自「gcc的JAVA模块的源代码」· CC 代码 · 共 95 行

CC
95
字号
// natFileChannelImpl.cc/* Copyright (C) 2003  Free Software Foundation   This file is part of libgcj.This software is copyrighted work licensed under the terms of theLibgcj License.  Please consult the file "LIBGCJ_LICENSE" fordetails.  */#include <config.h>#include <jvm.h>#include <errno.h>#include <string.h>#include <sys/types.h>#ifdef HAVE_UNISTD_H#include <unistd.h>#endif#ifdef HAVE_FCNTL_H#include <fcntl.h>#endif#include <gnu/gcj/RawData.h>#include <java/io/FileDescriptor.h>#include <java/io/IOException.h>#include <java/nio/ByteBuffer.h>#include <java/nio/channels/FileChannel.h>#include <java/nio/channels/FileChannelImpl.h>jlongjava::nio::channels::FileChannelImpl::size (){  return fd->getLength ();}jlongjava::nio::channels::FileChannelImpl::implPosition (){  return fd->getFilePointer ();}java::nio::channels::FileChannel*java::nio::channels::FileChannelImpl::implPosition (jlong newPosition){  fd->seek (newPosition, ::java::io::FileDescriptor::SET, true);  return this;}jintjava::nio::channels::FileChannelImpl::implRead (JArray<jbyte>* buffer,                                                jint offset, jint len){  return fd->read (buffer, offset, len);}jintjava::nio::channels::FileChannelImpl::implWrite (JArray<jbyte>* buffer,                                                 jint offset, jint len){  fd->write (buffer, offset, len);  return len;}java::nio::channels::FileChannel*java::nio::channels::FileChannelImpl::implTruncate (jlong size){  fd->setLength (size);  return this;}gnu::gcj::RawData*java::nio::channels::FileChannelImpl::nio_mmap_file (jlong /*pos*/, jlong /*size*/,                                                     jint /*mode*/){  throw new ::java::io::IOException (JvNewStringUTF ("mmap not implemented"));}voidjava::nio::channels::FileChannelImpl::nio_unmmap_file (gnu::gcj::RawData* /*address*/,				                       jint /*size*/){  throw new ::java::io::IOException (JvNewStringUTF ("munmap not implemented"));}voidjava::nio::channels::FileChannelImpl::nio_msync (gnu::gcj::RawData* /*map_address*/,                                                 jint /*length*/){  throw new ::java::io::IOException (JvNewStringUTF ("msync not implemented"));}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?