Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!.POSTED!not-for-mail From: Jan Burse Newsgroups: comp.lang.java.programmer Subject: Re: Fav. Memory Stream Impl. Date: Tue, 29 Nov 2011 22:59:06 +0100 Organization: albasani.net Lines: 44 Message-ID: References: <4ed0101b$0$282$14726298@news.sunsite.dk> <9jflnkFnrgU1@mid.individual.net> <9jgqmvFjc4U1@mid.individual.net> <6b19df45-6141-45f0-ae2e-8ff30ece4928@y42g2000yqh.googlegroups.com> <9ji3juFomgU1@mid.individual.net> <4ed4bfc0$0$8819$426a74cc@news.free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: news.albasani.net dsBIoY7HsaYKrWGnWMzLt2OmuCYVRLqoYF9gToHlMUGYywrUuEXTAq3GPlJvmBRA8LFwWp4ZQbcnw7vYvvWQiEADNIfD6X6ruj2S1LH/8m4HzXGl7kmf9IpStIGnzEER NNTP-Posting-Date: Tue, 29 Nov 2011 21:59:09 +0000 (UTC) Injection-Info: news.albasani.net; logging-data="JVCZCir5rpQIGrslP17vpSSZgPLsB1O2w5GMPr/JIq0FgjJI/LyTE2JDfE42GJrC5YjyzLe/ZZas5Bc9t/x7o1Nwt0DegEri3Ss7jYR9rF/u8iLS3Lf1IRILopEKddS5"; mail-complaints-to="abuse@albasani.net" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0.1) Gecko/20111121 Firefox/8.0.1 SeaMonkey/2.5 In-Reply-To: Cancel-Lock: sha1:3jW8WQCgG+BRMziZp/UlNdRgCzc= Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:10338 Martin Gregorie schrieb: > On Tue, 29 Nov 2011 21:34:54 +0100, Jan Burse wrote: > >> Martin Gregorie schrieb: >>> As you say the individual file sizes are a few tens of bytes, have you >>> looked at using ByteInputStream and ByteOutputStream? >>> >>> If you have considered them, why are they unsuitable? >> >> They could play a part in the game. But two problems are unsolved: >> sharing and positioning. >> > My bad: I meant ByteArrayInputStream and ByteArrayOutputStream > > The names are a little confusing: ByteArrayInputStream reads *from* a > byte array. The ByteArrayOutputStream writes *into* a byte array. > > I've used them to move byte arrays to and from CLOB columns in databases, > where they were straight-forward to use with CLOB sizes ranging from a > few bytes to a few megabytes, though I never had more than one or two > instances in use at a time. > > I don't see a constructor where I could hand over a buffer content from the memory stream. So that multiple reader and/or writers can share the same buffer content. Remember requirement is something along: class MemoryStream { InputStream createInput(); OutputStream createOutput(); ... } class MemoryInput extens InputStream { ... } class MemoryOutput extens OutputStream { ... }