【问题标题】:How does InputStream buffer work?InputStream 缓冲区如何工作?
【发布时间】:2014-01-22 15:51:59
【问题描述】:

我正在使用InputStream 缓冲区,如下所示。我想知道它什么时候真正在缓冲(用数据填充自己)......我正在用互联网流喂养它。我把Logs 放在len = in.read(buffer) 之前和之后,但是它们是同时登录的(所以这里没有这个过程)。

    conn = new URL(StringUrls[0]).openConnection();
    conn.setReadTimeout(5000);
    conn.setConnectTimeout(5000);
    in = conn.getInputStream();
    int len=-1;
    buffer = new byte[1024];

    Log.v("buffer", "buffering...");

    len = in.read(buffer);

    Log.v("buffer", "buffered");

【问题讨论】:

  • 你能分享一下日志吗?我预计毫秒之间会有微小的差异

标签: java android buffer


【解决方案1】:

http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html#read(byte[]) 状态:

This method blocks until input data is available, end of file is detected, or an exception is thrown.

换句话说,当它有要归档的数据时,它正在被填充。 当你打开一个连接时,数据就可以被读取了。这就是为什么InputStream 不需要等待任何东西。

【讨论】:

    猜你喜欢
    • 2013-08-10
    • 1970-01-01
    • 2020-11-22
    • 2013-03-04
    • 1970-01-01
    • 2011-10-18
    • 2015-06-30
    • 2019-06-19
    • 1970-01-01
    相关资源
    最近更新 更多