java中sqllite數(shù)據(jù)庫blob數(shù)據(jù)類型的存取_第1頁
java中sqllite數(shù)據(jù)庫blob數(shù)據(jù)類型的存取_第2頁
java中sqllite數(shù)據(jù)庫blob數(shù)據(jù)類型的存取_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、JAVA中SQLlite數(shù)據(jù)庫BLOB數(shù)據(jù)類型的存取找了好多資料,在sqllite在寫入文件沒什么難的,但是在取出blob的生本錢地文件的時候存在問題,而且網(wǎng)上大部分都是針對手機開發(fā)的,很少有java對sqllite的介紹/* sqllite數(shù)據(jù)庫文件的存儲* return* /privatestaticvoidtestSqlliteFile()throwsIOExceptionConnectionconn=null;Statementsta=null;tryClass.forName("");catch(ClassNotFoundExceptione)e.printSta

2、ckTrace();/TochangebodyofcatchstatementuseFile|Settings|FileTemplates.tryconn=DriverManager.getConnection("jdbc:sqlite:"+SetCustomFinal.getInstance().getFileDiskStoreFolder()+SetCustomFinal.getInstance().getFileItemStoreFolder()+"DBU1111111.DB","","");catch(SQ

3、LExceptione)e.printStackTrace();/TochangebodyofcatchstatementuseFile|Settings|FileTemplates.trysta=conn.createStatement();catch(SQLExceptione)e.printStackTrace();/TochangebodyofcatchstatementuseFile|Settings|FileTemplates./上面沒什么好廢話的鏈接sqllite的jdbc/讀取數(shù)據(jù)進(jìn)程.chm");/讀取本地文件FileInputStreamfis=newFileIn

4、putStream(Insertefile);/將本地文件轉(zhuǎn)為文件流bytebs=newbyteInteger.parseInt(""+Insertefile.length();/sqllite不能直接存如文件流,直接存byte【】數(shù)組。數(shù)組大小int可能會超限所以用Integerfis.read(bs,0,bs.length);/將文件流寫入byte【】數(shù)組fis.close();/關(guān)閉文件流/下面是將byte【】數(shù)組插入Stringsb=("insertintofilelist(PreparedStatementprep=null;tryprep=conn.p

5、repareStatement(sb);prep.setBytes(1,bs);/傳入整理好的byte【】數(shù)組prep.executeUpdate();catch(SQLExceptione)e.printStackTrace();/下面是將寫入的文件從sqllite數(shù)據(jù)庫讀取出來,和寫入類似tryPreparedStatementpstmt=conn.prepareStatement("SELECTFILEFROMfilelistWHEREFILE_UID=?");pstmt.setString傳入要取的圖片的IDFileOutputStreamfos=null;Stri

6、ngs="SELECTFILE_UID,FILEFROMfilelistWHEREFILE_UID=?"PreparedStatementpstmts=conn.prepareStatement(s);pstmts.setString傳入要讀取的FILE_UIDResultSetrs=pstmt.executeQuery();rs.next();Filedqfiles=newFile("D:test.chm");/寫入本地途徑if(!dqfiles.exists()dqfiles.createNewFile();/假設(shè)文件不存在,那么創(chuàng)立fos=newF

7、ileOutputStream(dqfiles);byteBuffer_s=rs.getBytes("FILE");/從查詢中獲得存取的blob數(shù)組,這里需,11,-、/»I>要注意一下/*InputStreamis=rs.getBinaryStream("FILE");假設(shè)直接用這個句話來獲得查詢的值,本來我也是從網(wǎng)上找的方法這么取但是一直有下面的異常,是jdbc沒有對應(yīng)的實現(xiàn),更新了jdbcjar包也沒能解決所以才采用了上面的方法:notimplementedbySQLiteJDBCdriverat(Unused.java:29)at(Unused.java:94)atatatatatat(Method.java:601)at*/fos.write(Buffer_s,0,Buffer_s.length);/將byte【】寫入文件fos.close();sta.close();rs.close();conn.close();catch(SQLExceptione)e.p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論