首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

这个应该如何写

2012-03-25 
这个应该怎么写?public int Trans_to_Bank(String ip,int port,String sndbuf) {Socket socket new Sock

这个应该怎么写?
public int Trans_to_Bank(String ip,int port,String sndbuf) {
Socket socket = new Socket(ip, port);
DataOutputStream out = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
out.write(sndbuf,0,sndbuf.length());
out.flush();
}


我想把SNDBUF发送到服务端,这个SNDBUF内容可能有中文.可out定义有错误.应该怎么写


[解决办法]
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
[解决办法]
DataOutputStream(OutputStream out) 
创建一个新的数据输出流,将数据写入指定基础输出流。 
方法摘要 
 void flush() 
清空此数据输出流。 
 int size() 
返回计数器 written 的当前值,即到目前为止写入此数据输出流的字节数。 
 void write(byte[] b, int off, int len) 
将指定字节数组中从偏移量 off 开始的 len 个字节写入基础输出流。 
 void write(int b) 
将指定字节(参数 b 的八个低位)写入基础输出流。 
 void writeBoolean(boolean v) 
将一个 boolean 值以 1-byte 值形式写入基础输出流。 
 void writeByte(int v) 
将一个 byte 值以 1-byte 值形式写出到基础输出流中。 
 void writeBytes(String s) 
将字符串按字节顺序写出到基础输出流中。 
 void writeChar(int v) 
将一个 char 值以 2-byte 值形式写入基础输出流中,先写入高字节。 
 void writeChars(String s) 
将字符串按字符顺序写入基础输出流。 
 void writeDouble(double v) 
使用 Double 类中的 doubleToLongBits 方法将 double 参数转换为一个 long 值,然后将该 long 值以 8-byte 值形式写入基础输出流中,先写入高字节。 
 void writeFloat(float v) 
使用 Float 类中的 floatToIntBits 方法将 float 参数转换为一个 int 值,然后将该 int 值以 4-byte 值形式写入基础输出流中,先写入高字节。 
 void writeInt(int v) 
将一个 int 值以 4-byte 值形式写入基础输出流中,先写入高字节。 
 void writeLong(long v) 
将一个 long 值以 8-byte 值形式写入基础输出流中,先写入高字节。 
 void writeShort(int v) 
将一个 short 值以 2-byte 值形式写入基础输出流中,先写入高字节。 
 void writeUTF(String str) 
以与机器无关方式使用 UTF-8 修改版编码将一个字符串写入基础输出流。 

[解决办法]
调整一下你的代码。

Java code
    Socket socket = new Socket(ip, port);    DataOutputStream out = new DataOutputStream(socket.getOutputStream());    byte[] bs = sndbuf.getBytes("GBK");    out.write(bs, 0, bs.length);    out.flush(); 

热点排行