求答疑~从socket中获取数据流(InputStream)后,为什么还需要转成DataInputStream,才能保存到硬盘中?
如题,请解释为什么要进行如下的操作,
netIn = acceptfilesocket.getInputStream();
in = new DataInputStream(new BufferedInputStream(netIn));
谢谢!
代码如下:
socket acceptfilesocket;javasocket InputStream? DataInputStream BufferedInputStream
InputStream netIn = null;
InputStream in = null;
try
{
netIn = acceptfilesocket.getInputStream();
in = new DataInputStream(new BufferedInputStream(netIn));
} catch (IOException e1)
{
System.out.print("接收文件创建网络接受流接受服务器文件数据异常");
}
[解决办法]
DataInputStream
只是起到包装的目的,提供更多的方法功能,让你从socket中更加方便的读取流的数据。
[解决办法]
不用转也可以写文件的,只是我们有时候为了高效,会封装一层缓冲流。缓冲流比字节流效率高很多的
[解决办法]
如果是文件的话,建议用BufferedReader替换DataInputStream
[解决办法]
主要是进行了封装,这样可以更好的利用。