Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: mindbright/ssh/SSHDataOutputStream.java


1   /******************************************************************************
2    *
3    * Copyright (c) 1998,99 by Mindbright Technology AB, Stockholm, Sweden.
4    *                 www.mindbright.se, info@mindbright.se
5    *
6    * This program is free software; you can redistribute it and/or modify
7    * it under the terms of the GNU General Public License as published by
8    * the Free Software Foundation; either version 2 of the License, or
9    * (at your option) any later version.
10   *
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   *
16   *****************************************************************************
17   * $Author: nallen $
18   * $Date: 2001/11/12 16:31:18 $
19   * $Name:  $
20   *****************************************************************************/
21  package mindbright.ssh;
22  
23  import java.io.*;
24  import java.math.BigInteger;
25  
26  public class SSHDataOutputStream extends DataOutputStream {
27  
28    SSHDataOutputStream(OutputStream out) {
29      super(out);
30    }
31  
32    public void writeBigInteger(BigInteger bi) throws IOException {
33      short bytes = (short)((bi.bitLength() + 7) / 8);
34      byte[] raw  = bi.toByteArray();
35      writeShort(bi.bitLength());
36      if(raw[0] == 0)
37        write(raw, 1, bytes);
38      else
39        write(raw, 0, bytes);
40    }
41  
42    public void writeString(String str) throws IOException {
43      byte[] raw = str.getBytes();
44      writeInt(raw.length);
45      write(raw);
46    }
47  }