randomaccessfile.java
来自「gcc3.2.1源代码」· Java 代码 · 共 249 行
JAVA
249 行
// RandomAccessFile.java/* Copyright (C) 1998, 1999, 2001 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. */package java.io;/** * @author Tom Tromey <tromey@cygnus.com> * @date September 25, 1998 *//* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 * "The Java Language Specification", ISBN 0-201-63451-1 * Status: Believe complete and correct to 1.1. */public class RandomAccessFile implements DataOutput, DataInput{ public void close () throws IOException { if (fd.valid()) fd.close(); } public final FileDescriptor getFD () throws IOException { if (! fd.valid()) throw new IOException (); return fd; } public long getFilePointer () throws IOException { return fd.getFilePointer(); } public long length () throws IOException { return fd.length(); } public RandomAccessFile (String fileName, String mode) throws IOException { int fdmode; if (mode.compareTo ("r") == 0) fdmode = FileDescriptor.READ; else if (mode.compareTo ("rw") == 0) fdmode = FileDescriptor.READ | FileDescriptor.WRITE; else throw new IllegalArgumentException ("invalid mode: " + mode); SecurityManager s = System.getSecurityManager(); if (s != null) { s.checkRead(fileName); if ((fdmode & FileDescriptor.WRITE) != 0) s.checkWrite(fileName); } fd = new FileDescriptor (fileName, fdmode); out = new DataOutputStream (new FileOutputStream (fd)); in = new DataInputStream (new FileInputStream (fd)); } public RandomAccessFile (File file, String mode) throws IOException { this (file.getPath(), mode); } public int read () throws IOException { return in.read(); } public int read (byte[] buffer) throws IOException { return in.read(buffer); } public int read (byte[] buffer, int offset, int count) throws IOException { return in.read(buffer, offset, count); } public final boolean readBoolean () throws IOException { return in.readBoolean(); } public final byte readByte () throws IOException { return in.readByte(); } public final char readChar () throws IOException { return in.readChar(); } public final double readDouble () throws IOException { return in.readDouble(); } public final float readFloat () throws IOException { return in.readFloat(); } public final void readFully (byte[] buffer) throws IOException { in.readFully(buffer); } public final void readFully (byte[] buffer, int offset, int count) throws IOException { in.readFully(buffer, offset, count); } public final int readInt () throws IOException { return in.readInt(); } public final String readLine () throws IOException { return in.readLine(); } public final long readLong () throws IOException { return in.readLong(); } public final short readShort () throws IOException { return in.readShort(); } public final int readUnsignedByte () throws IOException { return in.readUnsignedByte(); } public final int readUnsignedShort () throws IOException { return in.readUnsignedShort(); } public final String readUTF () throws IOException { return in.readUTF(); } public void seek (long pos) throws IOException { fd.seek(pos, FileDescriptor.SET, false); } public int skipBytes (int count) throws IOException { return count <= 0 ? 0 : fd.seek(count, FileDescriptor.CUR, true); } public void write (int oneByte) throws IOException { out.write(oneByte); } public void write (byte[] buffer) throws IOException { out.write(buffer); } public void write (byte[] buffer, int offset, int count) throws IOException { out.write(buffer, offset, count); } public final void writeBoolean (boolean val) throws IOException { out.writeBoolean(val); } public final void writeByte (int v) throws IOException { out.writeByte(v); } public final void writeShort (int v) throws IOException { out.writeShort(v); } public final void writeChar (int v) throws IOException { out.writeChar(v); } public final void writeInt (int v) throws IOException { out.writeInt(v); } public final void writeLong (long v) throws IOException { out.writeLong(v); } public final void writeFloat (float v) throws IOException { out.writeFloat(v); } public final void writeDouble (double v) throws IOException { out.writeDouble(v); } public final void writeBytes (String s) throws IOException { out.writeBytes(s); } public final void writeChars (String s) throws IOException { out.writeChars(s); } public final void writeUTF (String s) throws IOException { out.writeUTF(s); } // The underlying file. private FileDescriptor fd; // The corresponding input and output streams. private DataOutputStream out; private DataInputStream in;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?