Hello, Using pipedoutputstream and pipedinputstream is the best way of converting outputstream into inputstream, but I have got question about a pice of code, does it make sense? public inputstream getIS() { PipedInputStream in = new PipedInputStream(); PipedOUtputStream out = new PipedOutputStream(in); new Thread( new Runnable(){ public void run(){ class1.putDataOnOutputStream(out); } } ).start(); return in; } I am not sure if ...