diff options
Diffstat (limited to 'libjava/classpath/testsuite/java.io/RandomAccessFileTest.java')
-rw-r--r-- | libjava/classpath/testsuite/java.io/RandomAccessFileTest.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/libjava/classpath/testsuite/java.io/RandomAccessFileTest.java b/libjava/classpath/testsuite/java.io/RandomAccessFileTest.java new file mode 100644 index 00000000000..69dc4383cad --- /dev/null +++ b/libjava/classpath/testsuite/java.io/RandomAccessFileTest.java @@ -0,0 +1,50 @@ + +import java.io.*; + +public class RandomAccessFileTest { + public static void main (String args[]) { + try { + File f = new File("/etc/passwd"); + RandomAccessFile rf = new RandomAccessFile(f,"r"); + + long length = rf.length(); + + rf.seek(length - 10); + long pos = rf.getFilePointer(); + + if ( (length - 10) != pos ) + throw new Exception("Bad value from getFilePointer(), " + + pos + " !=" + (length - 10)); + + int i = rf.read(); + byte b = rf.readByte(); + boolean test = rf.readBoolean(); + + byte buf[] = new byte[40]; + rf.seek(0); + rf.read(buf); + + rf.close(); + try { + length = rf.length(); + throw new Exception("Got length from closed RandomAccessFile()."); + } catch (IOException e) {} + + String filename2 = "/var/tmp/testfile-remove"; + + File f2 = new File(filename2); + RandomAccessFile rf2 = new RandomAccessFile(filename2, "rw"); + + rf2.write(100); + rf2.write(buf); + + rf2.close(); + f2.delete(); + + System.out.println("PASSED: RandomAccessFile worked."); + System.exit(0); + } catch (Exception e) { + System.out.println("FAILED: "+e); + } + } +} |