Did you read documentation for your oracle version ?
Here is a link for oracle 11g:
http://docs.oracle.com/cd/B28359_01/java.111/b31224/oralob.htm#g1070326
Example: Writing CLOB Data
Use the setCharacterStream method or the setAsciiStream method to write data to a CLOB. The setCharacterStream method returns a Unicode output stream. The setAsciiStream method returns an ASCII output stream.
The following example reads a vector of data into a character array, then uses the setCharacterStream method to write the array of character data to a CLOB.
java.io.Writer writer;
// read data into a character array
char[] data = {'0','1','2','3','4','5','6','7','8','9'};
// write the array of character data to a Clob
writer = ((CLOB)my_clob).setCharacterStream();
writer.write(data);
writer.flush();
writer.close();
...
The next example reads a vector of data into a byte array, then uses the setAsciiStream method to write the array of ASCII data to a CLOB.
java.io.OutputStream out;
// read data into a byte array
byte[] data = {'0','1','2','3','4','5','6','7','8','9'};
// write the array of ascii data to a CLOB
out = clob.setAsciiStream();
out.write(data);
out.flush();
out.close();