2017-02-27 85 views
0

我目前正在学习Java,我目前正试图理解语言如何处理文件。在Java中,InputStream的顺序是否重要?

因此,这里是我的问题:是否有之间的差异:对你的答案:)

+0

我想不出任何你想要的第一个理由。第二个将缓冲添加到你的'DataInputStream'是有用的。 –

+0

是的,订单确实很重要。您所提到的所有实现(除了'FileInputStream')都从“底层输入流”中读取,他们没有看到或关心“底层流”从哪里获取数据,他们只关心底层流是否可以将它们交给下一个或不是。 –

+0

要问的第一个问题是“我想使用什么类型的InputStream”?如果您不需要'DataInpuStream',请不要使用它,否则将'FileInputstream'包装到'BufferedInpuStream'中只是一个性能优化(根据内存,文件大小等原因,这可能会对您不利) –

回答

0

研究装饰图案,那么你就会明白什么是优势

BufferedInputStream di1 = new BufferedInputStream(new DataInputStream(new FileInputStream(new File("finn.txt")))); 

DataInputStream di2 = new DataInputStream(new BufferedInputStream(new FileInputStream(new File("jake.txt")))); 

谢谢按特定顺序包装。