提交 b92f668c 编写于 作者: D dxu

8023203: Wrap RandomAccessFile.seek native method into a Java helper method

Reviewed-by: alanb, chegar
上级 6dbac40d
...@@ -100,7 +100,7 @@ SUNWprivate_1.1 { ...@@ -100,7 +100,7 @@ SUNWprivate_1.1 {
Java_java_io_RandomAccessFile_open; Java_java_io_RandomAccessFile_open;
Java_java_io_RandomAccessFile_read; Java_java_io_RandomAccessFile_read;
Java_java_io_RandomAccessFile_readBytes; Java_java_io_RandomAccessFile_readBytes;
Java_java_io_RandomAccessFile_seek; Java_java_io_RandomAccessFile_seek0;
Java_java_io_RandomAccessFile_setLength; Java_java_io_RandomAccessFile_setLength;
Java_java_io_RandomAccessFile_write; Java_java_io_RandomAccessFile_write;
Java_java_io_RandomAccessFile_writeBytes; Java_java_io_RandomAccessFile_writeBytes;
......
...@@ -100,7 +100,7 @@ SUNWprivate_1.1 { ...@@ -100,7 +100,7 @@ SUNWprivate_1.1 {
Java_java_io_RandomAccessFile_open; Java_java_io_RandomAccessFile_open;
Java_java_io_RandomAccessFile_read; Java_java_io_RandomAccessFile_read;
Java_java_io_RandomAccessFile_readBytes; Java_java_io_RandomAccessFile_readBytes;
Java_java_io_RandomAccessFile_seek; Java_java_io_RandomAccessFile_seek0;
Java_java_io_RandomAccessFile_setLength; Java_java_io_RandomAccessFile_setLength;
Java_java_io_RandomAccessFile_write; Java_java_io_RandomAccessFile_write;
Java_java_io_RandomAccessFile_writeBytes; Java_java_io_RandomAccessFile_writeBytes;
......
...@@ -518,7 +518,15 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable { ...@@ -518,7 +518,15 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable {
* @exception IOException if {@code pos} is less than * @exception IOException if {@code pos} is less than
* {@code 0} or if an I/O error occurs. * {@code 0} or if an I/O error occurs.
*/ */
public native void seek(long pos) throws IOException; public void seek(long pos) throws IOException {
if (pos < 0) {
throw new IOException("Negative seek offset");
} else {
seek0(pos);
}
}
private native void seek0(long pos) throws IOException;
/** /**
* Returns the length of this file. * Returns the length of this file.
......
/* /*
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -123,7 +123,7 @@ Java_java_io_RandomAccessFile_length(JNIEnv *env, jobject this) { ...@@ -123,7 +123,7 @@ Java_java_io_RandomAccessFile_length(JNIEnv *env, jobject this) {
} }
JNIEXPORT void JNICALL JNIEXPORT void JNICALL
Java_java_io_RandomAccessFile_seek(JNIEnv *env, Java_java_io_RandomAccessFile_seek0(JNIEnv *env,
jobject this, jlong pos) { jobject this, jlong pos) {
FD fd; FD fd;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册