home *** CD-ROM | disk | FTP | other *** search
- package java.io;
-
- public class DataOutputStream extends FilterOutputStream implements DataOutput {
- protected int written;
-
- public DataOutputStream(OutputStream var1) {
- super(var1);
- }
-
- 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;
- }
-
- public void flush() throws IOException {
- super.out.flush();
- }
-
- public final void writeBoolean(boolean var1) throws IOException {
- super.out.write(var1 ? 1 : 0);
- ++this.written;
- }
-
- public final void writeByte(int var1) throws IOException {
- super.out.write(var1);
- ++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 writeChar(int var1) throws IOException {
- OutputStream var2 = super.out;
- var2.write(var1 >>> 8 & 255);
- var2.write(var1 & 255);
- this.written += 2;
- }
-
- 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 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 writeFloat(float var1) throws IOException {
- this.writeInt(Float.floatToIntBits(var1));
- }
-
- public final void writeDouble(double var1) throws IOException {
- this.writeLong(Double.doubleToLongBits(var1));
- }
-
- public final void writeBytes(String var1) throws IOException {
- OutputStream var2 = super.out;
- int var3 = var1.length();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- var2.write((byte)var1.charAt(var4));
- }
-
- this.written += var3;
- }
-
- public final void writeChars(String var1) throws IOException {
- OutputStream var2 = super.out;
- int var3 = var1.length();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- char var5 = var1.charAt(var4);
- var2.write(var5 >>> 8 & 255);
- var2.write(var5 & 255);
- }
-
- this.written += var3 * 2;
- }
-
- 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;
- }
- }
-
- if (var4 > 65535) {
- throw new UTFDataFormatException();
- } else {
- var2.write(var4 >>> 8 & 255);
- var2.write(var4 & 255);
-
- for(int var8 = 0; var8 < var3; ++var8) {
- char var7 = var1.charAt(var8);
- if (var7 >= 1 && var7 <= 127) {
- var2.write(var7);
- } else if (var7 > 2047) {
- var2.write(224 | var7 >> 12 & 15);
- var2.write(128 | var7 >> 6 & 63);
- var2.write(128 | var7 & 63);
- this.written += 2;
- } else {
- var2.write(192 | var7 >> 6 & 31);
- var2.write(128 | var7 & 63);
- ++this.written;
- }
- }
-
- this.written += var3 + 2;
- }
- }
-
- public final int size() {
- return this.written;
- }
- }
-