Implemented positional read/write.

This commit is contained in:
jfrijters 2011-08-19 09:09:50 +00:00
Родитель 2cd5013134
Коммит 2462429eb7
1 изменённых файлов: 31 добавлений и 2 удалений

Просмотреть файл

@ -73,8 +73,23 @@ class IOUtil {
{
if (dst.isReadOnly())
throw new IllegalArgumentException("Read-only buffer");
if (position != -1)
throw new ikvm.internal.NotYetImplementedError();
{
synchronized (lock)
{
long prevpos = fd.getFilePointer();
try
{
fd.seek(position);
return read(fd, dst, -1, nd, null);
}
finally
{
fd.seek(prevpos);
}
}
}
if (dst.hasArray())
{
@ -109,7 +124,21 @@ class IOUtil {
throws IOException
{
if (position != -1)
throw new ikvm.internal.NotYetImplementedError();
{
synchronized (lock)
{
long prevpos = fd.getFilePointer();
try
{
fd.seek(position);
return write(fd, src, -1, nd, null);
}
finally
{
fd.seek(prevpos);
}
}
}
if (src.hasArray())
{