[英]Insert a Text file as Blob data into SQLite Database
我在sqlite中使用表USER_DETAILS(USER_ID varchar,USER_NAME varchar,USER_INFO blob)创建了一个db。我尝试创建一个文件,将其转换为byteArray并将其作为blob存储在表中.db和表已创建但未创建价值。 这是我的代码。有人可以指导如何将Blob数据插入表吗?
创建文件:`String fileNameDb = fileName + mTextDocNo ++;
FileOutputStream fis = (FileOutputStream) openFileOutput(
fileNameDb, Context.MODE_PRIVATE);
System.out.println("Create File " + fis);
byte[] textFileArray = new byte[1024];
int i = 0;
while (i < textFileArray.length) {
fis.write(textFileArray);
}
System.out.println("Created the byteArray " + textFileArray);
ObjectOutputStream oos = new ObjectOutputStream(fis);
oos.writeChars(inputData);
System.out.println("Calling the createNoteMethod------------>>>");
mDbHelper.createNote(fileNameDb, inputData + fileNameDb,
textFileArray);
oos.flush();
oos.close();
fis.close();
插入stmt方法:
stmt = mDb.compileStatement("INSERT INTO USER_DETAILS VALUES(?,?,?)");
stmt.bindString(1, user_id);
stmt.bindString(2, user_name);
stmt.bindBlob(3, user_info);
stmt.executeInsert();
当我尝试创建byteArray时出现以下异常
03-14 17:07:07.674:WARN / System.err(613):java.io.IOException:设备03-14 17:07:07.694:WARN / System.err(613):组织中没有剩余空间。 apache.harmony.luni.platform.OSFileSystem.write(本机方法)
03月14日17:07:07.704:WARN / System.err(613):在dalvik.system.BlockGuard $ WrappedFileSystem.write(BlockGuard.java:171)
03-14 17:07:07.704:WARN / System.err(613):at java.io.FileOutputStream.write(FileOutputStream.java:300)
03-14 17:07:07.715:WARN / System.err(613):at java.io.FileOutputStream.write(FileOutputStream.java:256)
03月14日17:07:07.715:WARN / System.err(613):位于com.example.FileSharing.FileSharingActivity.createFile(FileSharingActivity.java:51)
您的代码有很多问题:
fis
) ObjectOutputStream
,将其链接到FileOutputStream
并写出一些随机对象,该对象的定义未在代码示例中显示。 mDbHelper
方法的第二个参数,您是否真的打算将输入对象与输出文件名连接起来? 修复所有这些错误,然后再编辑问题是否仍然存在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.