你为什么一定要用DIS和DIO呢? Data input streams and data output streams represent Unicode strings in a format that is a slight modification of UTF-8. 直接用InputStream和OutputStream不更好? InputStream in = socket.getInputStream(); OutputStream out = socket.getOutputStream(); ...
System.out.println(i)的结果就是1。
我真faint.
Data input streams and data output streams represent Unicode strings in a format that is a slight modification of UTF-8.
直接用InputStream和OutputStream不更好?
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
...
你应该写一个循环:while( (i=in.read(bTest))!= -1)
{
.....
}
没必要用(-1)来判断吧?
为什么输入字符串就不行呢,真不明白。
http://www.csdn.net/expert/topic/85/85076.shtm
看了啊,但是我还没没搞明白。
to supersonics
我用的真是stream啊,怎么不行呢?
你试试我的程序啊?看看是不是i=1?
我如果一个个字节的读,通过catch EOFException 得到的i就是正常的。
程序:
....
int i=0;
while(true) {
bTest[i] = in.readByte();
i++
}
....catch(EOFException e) {
try {
System.out.println(i);
FileOutputStream out = new FileOutputStream("e:\\test");
outt.write(bTest);
}
catch (Ex.. e) {
}
}test文件的头几个为00 53 00 74 00 72.
你用writeChar和writeChars写的是char类型,
Server:
接收时用read方法用byte类型接收就会出这样的问题。
解决办法:
1).Client端改用write方法,Server端不变
2).Server端改用readLine方法或readChar方法