
Signature
Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.
> Questions: I am being bit of a shill here, but you too have
> recognised the chaos in Java's i/o libraries and you too have done
[quoted text clipped - 3 lines]
>
> 1. how big is the jar?
~120 kb
> 2. how much does it cost?
nothing
> 3. what are the restrcitions on using it in my own apps?
it is under BSD
> 4. where can I see the JavaDoc to get a flavour of how it works?
http://uio.imagero.com/doc/
> 5. where can I see some sample code?
Sorry, I didn't published any examples jet. Just ask me.
> 6. how fast is it compared with the Sun classes?
it depends on how you use sun classes.
In worst case (repeat readInt()/writeInt()) you have 100/120 times speed
gain.
See http://uio.imagero.com/performance.html
> 7. Did you do anything to make it more consistent which methods throw
> an IOException?
please elaborate
BTW uio includes also many utilities like MemoryManager and OpenFileManager.

Signature
Andrey Kuznetsov
http://uio.imagero.com Unified I/O for Java
http://reader.imagero.com Java image reader
http://jgui.imagero.com Java GUI components and utilities
Roedy Green - 04 Oct 2005 19:29 GMT
>Sorry, I didn't published any examples jet. Just ask me.
This is probably what you need to get it to catch on. The learning
curve is too steep otherwise, no matter how simple it actually is.
Sun has little tutorials for all the Swing components. When you read
them first, the JavaDoc suddenly comes to life and seems 100 times
simpler.

Signature
Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.
Andrey Kuznetsov - 04 Oct 2005 20:49 GMT
> This is probably what you need to get it to catch on. The learning
> curve is too steep otherwise, no matter how simple it actually is.
Interface of uio is rougly same as of RandomAccessFile.
Important thing is RandomAccessFactory.
RandomAccessFactory has 6 methods:
RandomAccess create()
RandomAccessRO createRO()
RandomAccessBuffer createBuffered()
RandomAccessBufferRO createBufferedRO()
RandomAccessByteArray create()
RandomAccessByteArrayRO createRO()
You can also read from/write to primitive arrays.
readFully(int [] a, int offset, int length)
write(double [] d, int offset, int length)

Signature
Andrey Kuznetsov
http://uio.imagero.com Unified I/O for Java
http://reader.imagero.com Java image reader
http://jgui.imagero.com Java GUI components and utilities
Roedy Green - 04 Oct 2005 19:31 GMT
>> 7. Did you do anything to make it more consistent which methods throw
>> an IOException?
>please elaborate
It is just that read/close seemingly randomly either throw or do not
throw an IOException. IT is difficult to memorise the pattern. I
figured you might do your class so they always do, even if they in
practice never throw it. That leaves the door open to in future
without changing client code.

Signature
Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.
Andrey Kuznetsov - 04 Oct 2005 20:54 GMT
>>> 7. Did you do anything to make it more consistent which methods throw
>>> an IOException?
[quoted text clipped - 4 lines]
> practice never throw it. That leaves the door open to in future
> without changing client code.
IOutils contains method closeStream() which
a) does not throws IOException
b) does not throws NullPointerException - i.e. given Stream may be null.
read always declared "throws IOException"

Signature
Andrey Kuznetsov
http://uio.imagero.com Unified I/O for Java
http://reader.imagero.com Java image reader
http://jgui.imagero.com Java GUI components and utilities
Roedy Green - 04 Oct 2005 19:49 GMT
>See http://uio.imagero.com/performance.html
This page is very confusing. I suggest you redo it as a table, and
perhaps normalize the figures, with an note that either bigger or
smaller is better.
If you have the patience, present the benchmarks in graph form for
more punch.
Also try to give each benchmark a name that does not require you to
know uio to know what it signifies.
I have updated the uio entry at
http://mindprod.com/jgloss/unfiedio.html

Signature
Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.
Andrey Kuznetsov - 04 Oct 2005 20:57 GMT
> This page is very confusing. I suggest you redo it as a table, and
> perhaps normalize the figures, with an note that either bigger or
[quoted text clipped - 5 lines]
> Also try to give each benchmark a name that does not require you to
> know uio to know what it signifies.
if I have time someday...
> I have updated the uio entry at
> http://mindprod.com/jgloss/unfiedio.html
thanks
http://mindprod.com/jgloss/unifiedio.html

Signature
Andrey Kuznetsov
http://uio.imagero.com Unified I/O for Java
http://reader.imagero.com Java image reader
http://jgui.imagero.com Java GUI components and utilities