Utilities for streaming streamables.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@725 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2001-12-03 23:48:38 +00:00
parent 68d492dff3
commit a308079d70
@@ -0,0 +1,70 @@
//
// $Id: StreamableUtil.java,v 1.1 2001/12/03 23:48:38 mdb Exp $
package com.threerings.presents.io;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
/**
* Utility functions useful for {@link Streamable} implementations.
*/
public class StreamableUtil
{
/**
* Writes the supplied int array to the data output stream.
*/
public static void writeInts (DataOutputStream out, int[] values)
throws IOException
{
int vcount = values.length;
out.writeInt(vcount);
for (int i = 0; i < vcount; i++) {
out.writeInt(values[i]);
}
}
/**
* Reads an array of ints from the data input stream that was
* previously written via {@link #writeInts}.
*/
public static int[] readInts (DataInputStream in)
throws IOException
{
int vcount = in.readInt();
int[] values = new int[vcount];
for (int i = 0; i < vcount; i++) {
values[i] = in.readInt();
}
return values;
}
/**
* Writes the supplied string array to the data output stream.
*/
public static void writeStrings (DataOutputStream out, String[] values)
throws IOException
{
int vcount = values.length;
out.writeInt(vcount);
for (int i = 0; i < vcount; i++) {
out.writeUTF(values[i]);
}
}
/**
* Reads an array of strings from the data input stream that was
* previously written via {@link #writeStrings}.
*/
public static String[] readStrings (DataInputStream in)
throws IOException
{
int vcount = in.readInt();
String[] values = new String[vcount];
for (int i = 0; i < vcount; i++) {
values[i] = in.readUTF();
}
return values;
}
}