Closing Streams
<p>Please see code below:</p>

<pre><code>s = new Socket(nextHopIP, 3434);

            fileIn = new FileInputStream(fileName);
            fileOut = s.getOutputStream();
            buffer = new byte[bufferSize];
            pw = new PrintWriter(s.getOutputStream());
            br = new BufferedReader(new InputStreamReader(s.getInputStream()));

            pw.println(fromIP);
            pw.println(toIP);
            pw.println(fileName.split("\\\\")[fileName.split("\\\\").length - 1]);
            pw.flush();

            //Send file
            fileTransferTime = System.currentTimeMillis();
            while((readFile = fileIn.read(buffer)) != -1) {
                fileOut.write(buffer, 0, readFile);
            }
            pw.println("");
            pw.flush();
            fileIn.close();
            fileOut.close();
            br.readLine(); //error here
            fileTransferTime = System.currentTimeMillis() - fileTransferTime;
            System.out.println("File transfer time: " + fileTransferTime);
            pw.close();
            br.close();
            s.close();
</code></pre>

<p>By the time it reaches br.readLine(), socket closed exception is raised. I've only closed the outputstream so far. Does closing the outputstream also closes the inputstream in this case?</p>

<p>Thanks!</p>
