我在sqlite中創建了一個帶有USER_DETAILS(USER_ID varchar,USER_NAME varchar,USER_INFO blob)的數據庫。我嘗試創建一個文件,將它轉換爲byteArray並將其存儲爲blob在表中.db和表被創建,但不是值。這裏是我的代碼。有人可以指導如何將blob數據插入表中嗎?插入一個文本文件作爲Blob數據到SQLite數據庫
創建文件:`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 = 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):at org.apache.harmony.luni.platform.OSFileSystem.write(Native方法)
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):在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):at com.example.FileSharing.FileSharingActivity.createFile(FileSharingActivity.java :51)