Welcome to the forum, @Miroslaw_Korzeniowsk!
SCIFIO was certainly designed with such flexibility in mind. As Mark said in the other thread you linked, there is still a pending redesign of SciJava + SCIFIO core I/O, which will make it simpler to read/write to/from non-file locations. I am very excited about this work—just strapped for time to actually finish it. But it is in the top five on my list of development priorities.
In the meantime, you should still be able to write to a byte array in memory or similar. The simplest way is probably to use LocationService#mapFile(String, IRandomAccess) to associate a particular string with a ByteArrayHandle. Then, when you pass that same string to the SCIFIO API, it should "magically" use the provided
ByteArrayHandle under the hood. Definitely reply back if this does not work.
Alternately, deeper in the API, there is also Writer#setDest(RandomAccessOutputStream).
I apologize that we do not currently have a tutorial for this. If you get something working, and would care to contribute a tutorial to scifio/scifio-tutorials along those lines, that would be very welcome.