使用JDBC

时间:2017-04-17 10:21:54

标签: java hadoop jdbc hive

我从一个hive中获取图像数据,这个数据存储为二进制数据 使用InputStream对象。问题是,当我尝试对图像进行编码时,它会被编码,但当我尝试解码相同的编码图像时,它会再次发生错误。

我的程序如下:

File file=new File("path");
                    java.io.InputStream in = rs1.getBinaryStream("entity_image");
OutputStream f = new FileOutputStream(file);
int c=0;
while((c=in.read())>-1)
{
 //System.out.println(c);
   f.write(c);
}
byte[] imageBytes = new byte[(int)file.length()];
                    in.read(imageBytes, 0, imageBytes.length);
                    in.close();
                    String imageStr = encodeImage(imageBytes);//method that returns the encoded base64 String.
 byte[] imageByteArray = decodeImage(imgstring);//method returning byte []
    f.write(imageByteArray);//writing the decoded image to the file 
  1. 新图片文件说它在打开时包含错误?

  2. 是否有其他方法可用于从配置单元中获取图像数据? 我使用getbytes()方法进行了检查,但它说该方法不受支持。

0 个答案:

没有答案