在我的应用程序中,我开发了获取附件的Web服务。 该文件通过JaxB映射到DataHandler对象, 我可以通过DataHandler.getInputStream()
访问该文件我的问题是: 当Web服务请求中存在文件属性但没有附加文件时, 我仍然得到DataHandler对象,它的getInputStream()。available()= 11个字节 (我猜是一个标题...... ??)。
所以我可以知道inputStream是空的吗?
谢谢, 阿龙
答案 0 :(得分:1)
读取它并解析应该解析的数据。答案就在那里。
InputStream#available()
肯定会不返回流的长度,或者您认为如此。在某些情况下(巧合)可能,但你不应该依赖它。它只返回可用于读取的字节数,而不会阻塞其他线程。只需完全读取流the usual Java IO way,直到最后一位返回-1
,然后拦截您收到的整个数据。