在创建流对象时打开文件连接时实际发生了什么?

时间:2016-03-22 12:45:39

标签: java java-io

说我写的时候,

InputStream inStream = new FileInputStream("LOCATION");

那么new FileInputStream("LOCATION")部分会发生什么?

我在网上阅读资料,说明它打开了与此位置的连接。那么,通过“打开连接”,我应该假设它将"LOCATION"的整个数据带入inStream吗?

如果它没有带来整个数据那么它会做什么?

2 个答案:

答案 0 :(得分:3)

不,绝对不是。它会打开一个允许您读取数据的通道。但只要你不做实际阅读就不会带来任何数据。请注意,打开Stream后,您需要将其关闭。否则可能发生内存泄漏。这就是为什么你通常在try-catch块中包围你的开放流

答案 1 :(得分:2)

它只是在该位置创建了与该文件的连接。此时它不会带来数据。

要获取任何数据,您必须调用读取方法来获取数据包中的数据。