日期:2014-05-17  浏览次数:21014 次

二进制类型如何判断是否为空?
谢谢,还有一个问题就是如何保存的文件放到相对路径上去,绝对路径用在web开发中很有问题,谢谢各位前辈了。
保存的文件是从数据库中读出来的。

------解决方案--------------------
二进制类型 你说的是byte类型呗 ,byte是基本类型 不存在空不空的概念,默认是0

------解决方案--------------------
InputStream 基本都是new一个InputStream 所以肯定是空,你说的是被读取文件里是空的吧?判断read()方法的返回值是否为-1,-1代表读取到文本末尾了
------解决方案--------------------
判断read()方法的返回值是否为-1,-1代表读取到文本末尾了
相对路径的话,是从当前路径来算的,“。。”退出当前文件夹
------解决方案--------------------
System.out.println(System.getProperty("user.dir"));
------解决方案--------------------
不要用这个判断image.read()。这个语句执行后,当前流已经读了一个字节了,下面就不全了
 
用它:、
image.available()>0
------解决方案--------------------
if (image.read() != -1) {

这块出错了 ,这样就已经读出来了一部分了,所以chunk 是不完整的二进制字节流 自然就不能显示了

------解决方案--------------------
int available() 
返回此输入流方法的下一个调用方可以不受阻塞地从此输入流读取(或跳过)的字节数。 
多查查api 自然就解决了
------解决方案--------------------
web系统通过request取相对路径

request.getSession().getServletContext().getRealPath("")
------解决方案--------------------
System.out.println(System.getProperty("user.dir")); 这个就是得到项目路径的