Thread overview
InputStream close()?
Jun 16, 2006
Bradley Smith
Jun 16, 2006
Ben Hinkle
Jun 16, 2006
Bradley Smith
Jun 16, 2006
Ben Hinkle
Jun 16, 2006
David Medlock
June 16, 2006
Is there some reason why the InputStream interface does not have a close() method?

Thanks,
  Bradley
June 16, 2006
"Bradley Smith" <digitalmars-com@baysmith.com> wrote in message news:e6stsf$31he$1@digitaldaemon.com...
> Is there some reason why the InputStream interface does not have a close() method?
>
> Thanks,
>   Bradley

I vaguely recalling poking around with adding one but it would conflict with OutputStream's close(). Creating a Closeable interface - this is where I can't remember the details - ended up requiring all Stream classes to be declared as Closeable. Or something like that. It's worth giving it another shot for sure.


June 16, 2006
Ben Hinkle wrote:
> "Bradley Smith" <digitalmars-com@baysmith.com> wrote in message news:e6stsf$31he$1@digitaldaemon.com...
>> Is there some reason why the InputStream interface does not have a close() method?
>>
>> Thanks,
>>   Bradley
> 
> I vaguely recalling poking around with adding one but it would conflict with OutputStream's close(). Creating a Closeable interface - this is where I can't remember the details - ended up requiring all Stream classes to be declared as Closeable. Or something like that. It's worth giving it another shot for sure.
> 
> 

You can't have two interfaces with the same method? I haven't tried it yet, but since both InputStream and OutputStream are both interfaces, I assumed that it would not cause a conflict.

How does one design complex systems if interfaces conflict so easily?

Thanks,
  Bradley
June 16, 2006
Bradley Smith wrote:
> Is there some reason why the InputStream interface does not have a close() method?
> 
> Thanks,
>   Bradley

Some Input streams wouldnt necessarily close.
Suppose you had a Decompressing stream over another file stream.  You want to close the parent stream.

If you are dealing with File InputStreams just use a Stream variable when you create the object:

Steam st = new File( "myfile", FileMode.In );
...
st.close();

-DavidM
June 16, 2006
"Bradley Smith" <digitalmars-com@baysmith.com> wrote in message news:e6uiuc$2ngf$1@digitaldaemon.com...
> Ben Hinkle wrote:
>> "Bradley Smith" <digitalmars-com@baysmith.com> wrote in message news:e6stsf$31he$1@digitaldaemon.com...
>>> Is there some reason why the InputStream interface does not have a close() method?
>>>
>>> Thanks,
>>>   Bradley
>>
>> I vaguely recalling poking around with adding one but it would conflict with OutputStream's close(). Creating a Closeable interface - this is where I can't remember the details - ended up requiring all Stream classes to be declared as Closeable. Or something like that. It's worth giving it another shot for sure.
>>
>>
>
> You can't have two interfaces with the same method? I haven't tried it yet, but since both InputStream and OutputStream are both interfaces, I assumed that it would not cause a conflict.
>
> How does one design complex systems if interfaces conflict so easily?
>
> Thanks,
>   Bradley

I just tried implementing two interfaces with the same member and it seems to work. I don't remember enough about what I tried to provide any help.