博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flex Air操作sqllite数据库,Blob数据问题
阅读量:6655 次
发布时间:2019-06-25

本文共 1898 字,大约阅读时间需要 6 分钟。

  闲来整理了下之前使用sqllite的代码,创建表,创建连接,增删改查。基础类型的操作都很简单。

flex官方提供文档很完善了,参见

  关于Blob文件读取的问题说明下,Adobe默认存储的Blob编码方式是AMF格式的,所以直接读取使用其他语言比如java、c++等存储的大数据格式作为资源将获得错误的结果,因此读取的时候需参考CAST语法,官方说法如下:

同样使用java等语言读取as存储的数据也会获得错误。具体区别貌似是aodbe在二进制文件的首段存储了4位的标签内容( AMF 格式),因此在使用java等语言读取as写入的信息后需扔弃前四位存储的信息。下面是一个将as存储的图片二进制使用java读取的范例,如果不截取前4位信息,那么直接保存的png图片将不被识别

1 public class SQLListeTest { 2  3     public static void main(String args[]){ 4          5         String databaseName = "C:/Documents and Settings/HANSHAOJIE/桌面/db.sqllite"; 6         try{ 7             Class.forName("org.sqlite.JDBC"); 8             Connection conn = DriverManager.getConnection("jdbc:sqlite:/" 9                       + databaseName);10 11             Statement stat = conn.createStatement();12             String sql = "SELECT * FROM testTable where id = '15'";13             ResultSet rs = stat.executeQuery(sql);14             if(rs.next()){15 16                 String s = rs.getString("id");17                 System.out.println(s);18                 byte[] by = rs.getBytes("imageData");19                 20                 for (int i = 0; i < by.length; i++){21                     byte b = by[i];22                     System.out.print((char)b);23                 }24                 25                 //创建一个新文件来存储读取的图片二进制信息26                 File f = new File("C:/Documents and Settings/HANSHAOJIE/桌面/test.png");27                 f.createNewFile();28                 FileOutputStream fou = new FileOutputStream(f);29                 for (int i = 4; i < by.length; i++) {30                     int j = by[i];31                     fou.write(by[i]);32                 }33                 fou.flush();34                 fou.close();35             }        36         }37         catch(Exception ex){38             ex.printStackTrace();39         }40     }41 }

 

 

 

转载于:https://www.cnblogs.com/xignzou/archive/2013/03/26/2981736.html

你可能感兴趣的文章
bzoj千题计划321:bzoj5251: [2018多省省队联测]劈配(网络流 + 二分)
查看>>
PHP通过串口发短信
查看>>
Objective-C数组和字典
查看>>
mysql登录基本语句
查看>>
废掉一个人最隐蔽的方式,是让他忙到没时间成长(转)
查看>>
二维数组的遍历
查看>>
【集成学习】sklearn中xgboost模块的XGBClassifier函数
查看>>
装系统遇到的那些问题
查看>>
apt-get upgarde 和dist-upgrade的差别
查看>>
Difference Between Arraylist And Vector : Core Java Interview Collection Question
查看>>
微信公众平台自定义菜单创建代码实现—java版
查看>>
[C#][控件]列表控件listbox(一)
查看>>
JSF页面中的JS取得受管bean的数据(受管bean发送数据到页面)
查看>>
桥接模式
查看>>
leetcode 627. Swap Salary
查看>>
【待填坑】http和https的概念和区别
查看>>
Callable和Runnable和FutureTask
查看>>
ASP.net WebAPI 上传图片
查看>>
hello openwrt
查看>>
【Flex教程】#009 As/typeof /instanceof /is的作用
查看>>