home *** CD-ROM | disk | FTP | other *** search
- package java.io;
-
- import com.ms.lang.SystemX;
-
- public class DataOutputStream extends FilterOutputStream implements DataOutput {
- private boolean isLocalised;
- protected int written;
-
- public DataOutputStream(OutputStream var1) {
- super(var1);
- }
-
- public final void writeBoolean(boolean var1) throws IOException {
- super.out.write(var1 ? 1 : 0);
- ++this.written;
- }
-
- public final void writeDouble(double var1) throws IOException {
- this.writeLong(Double.doubleToLongBits(var1));
- }
-
- public final void writeByte(int var1) throws IOException {
- super.out.write(var1);
- ++this.written;
- }
-
- public final void writeFloat(float var1) throws IOException {
- this.writeInt(Float.floatToIntBits(var1));
- }
-
- public final void writeLong(long var1) throws IOException {
- OutputStream var3 = super.out;
- var3.write((int)(var1 >>> 56) & 255);
- var3.write((int)(var1 >>> 48) & 255);
- var3.write((int)(var1 >>> 40) & 255);
- var3.write((int)(var1 >>> 32) & 255);
- var3.write((int)(var1 >>> 24) & 255);
- var3.write((int)(var1 >>> 16) & 255);
- var3.write((int)(var1 >>> 8) & 255);
- var3.write((int)var1 & 255);
- this.written += 8;
- }
-
- public final void writeBytes(String var1) throws IOException {
- OutputStream var2 = super.out;
- if (this.isLocalised) {
- byte[] var3 = SystemX.JavaStringToLocalString(var1.toCharArray());
- var2.write(var3, 0, var3.length);
- this.written += var3.length;
- } else {
- int var6 = var1.length();
-
- for(int var4 = 0; var4 < var6; ++var4) {
- var2.write((byte)var1.charAt(var4));
- }
-
- this.written += var6;
- }
-
- }
-
- public final int size() {
- return this.written;
- }
-
- public final void writeShort(int var1) throws IOException {
- OutputStream var2 = super.out;
- var2.write(var1 >>> 8 & 255);
- var2.write(var1 & 255);
- this.written += 2;
- }
-
- public final void writeChars(String var1) throws IOException {
- OutputStream var2 = super.out;
- if (this.isLocalised) {
- byte[] var3 = SystemX.JavaStringToLocalString(var1.toCharArray());
- var2.write(var3, 0, var3.length);
- this.written += var3.length;
- } else {
- int var7 = var1.length();
-
- for(int var4 = 0; var4 < var7; ++var4) {
- char var5 = var1.charAt(var4);
- var2.write(var5 >>> 8 & 255);
- var2.write(var5 & 255);
- }
-
- this.written += var7 * 2;
- }
-
- }
-
- public final void writeChar(int var1) throws IOException {
- OutputStream var2 = super.out;
- if (this.isLocalised) {
- char[] var3 = new char[]{(char)var1};
- byte[] var4 = SystemX.JavaStringToLocalString(var3);
- var2.write(var4);
- this.written += var4.length;
- } else {
- var2.write(var1 >>> 8 & 255);
- var2.write(var1 & 255);
- this.written += 2;
- }
-
- }
-
- public void flush() throws IOException {
- super.out.flush();
- }
-
- public final void writeInt(int var1) throws IOException {
- OutputStream var2 = super.out;
- var2.write(var1 >>> 24 & 255);
- var2.write(var1 >>> 16 & 255);
- var2.write(var1 >>> 8 & 255);
- var2.write(var1 & 255);
- this.written += 4;
- }
-
- public final void writeUTF(String var1) throws IOException {
- OutputStream var2 = super.out;
- int var3 = var1.length();
- int var4 = 0;
-
- for(int var5 = 0; var5 < var3; ++var5) {
- char var6 = var1.charAt(var5);
- if (var6 >= 1 && var6 <= 127) {
- ++var4;
- } else if (var6 > 2047) {
- var4 += 3;
- } else {
- var4 += 2;
- }
- }
-
- var2.write(var4 >>> 8 & 255);
- var2.write(var4 & 255);
-
- for(int var8 = 0; var8 < var3; ++var8) {
- char var9 = var1.charAt(var8);
- if (var9 >= 1 && var9 <= 127) {
- var2.write(var9);
- } else if (var9 > 2047) {
- var2.write(224 | var9 >> 12 & 15);
- var2.write(128 | var9 >> 6 & 63);
- var2.write(128 | var9 & 63);
- this.written += 2;
- } else {
- var2.write(192 | var9 >> 6 & 31);
- var2.write(128 | var9 & 63);
- ++this.written;
- }
- }
-
- this.written += var3 + 2;
- }
-
- public synchronized void write(int var1) throws IOException {
- super.out.write(var1);
- ++this.written;
- }
-
- public synchronized void write(byte[] var1, int var2, int var3) throws IOException {
- super.out.write(var1, var2, var3);
- this.written += var3;
- }
- }
-