# InputStream from file question

**URL:** <https://forum.juce.com/t/inputstream-from-file-question/3959>\
**Category:** General JUCE discussion\
**Created:** [May 29, 2009, 8:52am UTC](https://forum.juce.com/t/inputstream-from-file-question/3959 "2009-05-29T08:52:39Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![zamrate](https://avatars.discourse-cdn.com/v4/letter/z/f4b2a3/32.png) [@zamrate](https://forum.juce.com/u/zamrate)\
**Post date:** [May 29, 2009, 8:52am UTC](https://forum.juce.com/t/inputstream-from-file-question/3959/1 "2009-05-29T08:52:39Z")

</div>

Why does this code cause an exception and how should it be done right?

[code]void MainComponent::loadWave()  
{  
File file(T(“c:\wav.wav”));  
if (file.exists())  
{  
InputStream \*stream=file.createInputStream();  
if (stream)  
{  
WavAudioFormat format;  
AudioFormatReader \*reader=format.createReaderFor(stream, true);  
if (reader)  
{  
wave=new AudioSampleBuffer(2,(int)reader-\>lengthInSamples);  
wave-\>readFromAudioReader(reader, 0, (int)reader-\>lengthInSamples ,0, true, true);  
waveformComponent-\>setWave(wave);

```
			deleteAndZero(reader);
		}
		
		deleteAndZero(stream);	// <--- EXCEPTION!!
	}
}

```

}[/code]

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [May 29, 2009, 9:09am UTC](https://forum.juce.com/t/inputstream-from-file-question/3959/2 "2009-05-29T09:09:25Z")

</div>

The reader automatically deletes the stream that you give it, so just remove the line that deletes the stream and it’ll be fine.

---

<div class="post-metadata">

**Author:** ![zamrate](https://avatars.discourse-cdn.com/v4/letter/z/f4b2a3/32.png) [@zamrate](https://forum.juce.com/u/zamrate)\
**Post date:** [May 29, 2009, 9:13am UTC](https://forum.juce.com/t/inputstream-from-file-question/3959/3 "2009-05-29T09:13:28Z")

</div>

ofcourse, sorry for this stupid question :oops:
