Re: transfer binary files over network
On Sat, 01 Sep 2007 16:12:31 +0200, _kOws <kows@wanadoo.fr> wrote,
quoted or indirectly quoted someone who said :
.........
Socket socket = new Socket(host, port);
BufferedReader is = new BufferedReader(new
InputStreamReader(socket.getInputStream());
byte[] buffer = new byte[1000];
while(true){
is.read(buffer);
//append the buffer to a new file
url = new URL( "snippets/ser/" + snippetName + ".ser" );
System.out.println( "fetching: " + url );
URLConnection urlc = url.openConnection();
if ( urlc == null )
{
throw new IOException(
"\007ailed to connect to document server." );
}
urlc.setAllowUserInteraction( false );
urlc.setDoInput( true );
urlc.setDoOutput( false );
urlc.setUseCaches( false );
urlc.connect();
InputStream is = urlc.getInputStream();
GZIPInputStream gzis =
new GZIPInputStream( is, 4096/* buffsize */ );
ois = new ObjectInputStream( gzis );
// R E A D, footprintversion, footprint, tokens
long expectedVersion = Footprint.serialVersionUID;
long fileVersion = (Long) ois.readObject();
if ( fileVersion != expectedVersion )
{
System.err
.println( "\007Stale "
+ snippetName
+ " Version "
+ fileVersion
+ " should be "
+ expectedVersion );
ois.close();
tokens = new Token[0];
return;
}
// we have to recompute it with our font metrics, but we
want the
// totalLines count.
footprint = (Footprint) ois.readObject();
tokens = (Token[]) ois.readObject();
// C L O S E
ois.close();
}
catch ( InvalidClassException e )
{
System.err.println( "\007Stale " + snippetName );
}
catch ( ClassNotFoundException e )
{
System.err
.println( "\007Bug: Token class files missing from
jar " + e
.getMessage() );
}
catch ( IOException e )
{
e.printStackTrace();
System.err
.println( "\007Problem getting compacted source
document "
+ snippetName + " : " + e.getMessage()
);
}
--
Roedy Green Canadian Mind Products
The Java Glossary
http://mindprod.com