关于Java的IO与Socket问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 07:44:30
DataInputStream in = new DataInputStream(new BufferedInputStream(you.getInputStream()));

DataInputStream in = new DataInputStream((you.getInputStream()));
有什么区别?为什么当用第一个的时候,in.readUTF()读不到数据,但用第二个的时候,in.readUTF()则可以读到数据?
注: out和in对应
都是对应于的
string s = "abc";
out.writeUTF(s);

谢谢1楼的,但是readUTF可以读一整行的,
DataInputStream in = new DataInputStream((you.getInputStream()));
这样子以后,String r = in.readUTF();以后,就可以读取一行(包括空格)

BufferedInputStream是一次读入一整行,包括空格。readUTF()一次只读入一个单词,也就是说从一个空格到下一个空格之间的字符。BufferedInputStream一次就把空格加在单词之间读进来了,readUTF()就无法分辨空格在哪里了。