在我的应用程序中,我开发了获得附加文件的web服务。该文件通过JaxB映射到JaxB对象,并且我可以通过DataHandler.getInputStream()访问该文件。
我的问题是:当文件属性存在于web服务请求中,但没有附加文件时,我仍然会得到DataHandler对象,以及它的getInputStream().available() =11个字节(我猜是一个标题??)。
所以我可以知道inputStream是空的吗?
谢谢你,阿伦
发布于 2009-11-30 13:45:29
读取它并解析应该解析的数据。答案就在里面。
InputStream#available()当然做了,而不是,返回流的长度,就像您似乎认为的那样。在某些情况下,它(偶然)可能,但你不应该依赖这一点。它只返回可用于读取的字节数,而不阻塞其他线程。只需完全读取流常用的Java方式,直到最后一位返回-1,然后截取接收到的全部数据。
https://stackoverflow.com/questions/1819874
复制相似问题