获取Java InputStream后面的文件的字节数

Tim*_*imo 3 java bytearray inputstream

正如标题所说,我需要知道文件有多少字节在InputStream"后面".我不想下载所有字节和计数(需要很长时间).我只需要知道文件有多少字节.

像这样:

int numberOfBytes = countBytes(inputStream);
Run Code Online (Sandbox Code Playgroud)

所以,我需要一个countBytes实现(InputStream inputStream)

NPE*_*NPE 8

除了通过消耗整个流并计算字节数之外,你不能(它没有API).

available()方法,但它明确地没有做你所要求的:

请注意,虽然InputStream的某些实现将返回流中的总字节数,但许多实现不会.

如果InputStream它与文件相关联(而不是,例如,套接字),也许您可​​以使用不同的API来获取其大小?