re PR libgcj/16204 (File I/O fails on files >= 2^31 bytes (2GB))
2004-07-14 Bryce McKinlay <mckinlay@redhat.com> PR libgcj/16204 * Makefile.am (AM_CXXFLAGS): Add -D_FILE_OFFSET_BITS=64 to enable large file support. * Makefile.in: Rebuilt. * testsuite/libjava.lang/LargeFile.java: New test case. * testsuite/libjava.lang/LargeFile.out: New file. From-SVN: r84733
This commit is contained in:
parent
018479fbad
commit
b845ed9ff8
5 changed files with 50 additions and 1 deletions
36
libjava/testsuite/libjava.lang/LargeFile.java
Normal file
36
libjava/testsuite/libjava.lang/LargeFile.java
Normal file
|
@ -0,0 +1,36 @@
|
|||
/* Test to ensure files >= 2^31 bytes are supported. */
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class LargeFile
|
||||
{
|
||||
public static void main(String[] args) throws IOException
|
||||
{
|
||||
File file = new File("LargeFile.tmp");
|
||||
|
||||
try
|
||||
{
|
||||
RandomAccessFile rfile = new RandomAccessFile(file, "rw");
|
||||
|
||||
long pos = (long) Math.pow(2, 31);
|
||||
|
||||
rfile.seek(pos);
|
||||
rfile.write('O');
|
||||
rfile.write('K');
|
||||
rfile.close();
|
||||
|
||||
// Re-open, read byte back using FileInputStream and clean up.
|
||||
|
||||
FileInputStream fis = new FileInputStream(file);
|
||||
fis.skip(pos);
|
||||
System.out.print((char) fis.read());
|
||||
System.out.println((char) fis.read());
|
||||
fis.close();
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (file.exists())
|
||||
file.delete();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue