I read that InputStream is used for byte based reading it reads 1 byte at a time.
And InputStreamReader is used for charcter based reading so it reads one charcter at a time so no need to convert this first to int then read it.
Here is reading using InputStream.
and here is reading using InputStreamReader
so what is difference between InputStream and InputStreamReader in both case i have to use a Int and then read it and at the end if I want to print that data I have to cast that with "(char)c".