【问题标题】:What actually happens when we open a connection to the file while creating a stream object?当我们在创建流对象时打开到文件的连接时实际发生了什么?
【发布时间】:2016-07-09 08:43:01
【问题描述】:

写的时候说,

InputStream inStream = new FileInputStream("LOCATION");

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

我阅读了网络上的材料,说明它打开了与该位置的连接。那么通过“打开一个连接”,我是否应该假设它将整个数据从"LOCATION" 带入inStream

如果它没有带来全部数据,那么它会做什么?

【问题讨论】:

  • io 流只是允许顺序读/写资源的抽象

标签: java java-io


【解决方案1】:

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

【讨论】:

  • 谢谢!这有帮助。
【解决方案2】:

它只是在那个位置创建一个到文件的连接。它不会在那个时候带来数据。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 2015-09-16
    • 2014-08-22
    • 2017-09-22
    • 2016-09-17
    • 2014-03-02
    • 2012-07-31
    相关资源
    最近更新 更多