1. 程式人生 > >java 將 jar包、excel、txt等檔案儲存於mysql

java 將 jar包、excel、txt等檔案儲存於mysql

首先要注意mysql的欄位型別,可以選擇BLOB型別或text型別,這兩種型別是進行儲存檔案位元組碼的型別;

具體使​​​​​​​用要根據傳入的檔案的大小限制,這裡我們是不能大於16M,所以這裡使用的是 mediumtext型別的欄位;

本次通過儲存檔案的Base64字串來進行儲存及反生成的;

1.如何將檔案存入mysql 

           有的時候我們是接收前端傳過來的檔案,所以我們不需要手動獲取本地檔案,可直接使用;比如我們接

           收到了一個檔案叫file :

            FileInputStream  inputFile = new FileInputStream(file);             byte[] buffer = new byte[(int) files.length()];             inputFile.read(buffer);             inputFile.close();             String encode = new BASE64Encoder().encode(buffer);

            如果是從本地取,則開始要獲取檔案:  File file = new File(" 檔案路徑");    後續就是上面程式碼;

           當獲取到Bbse64的字串後及可儲存進mysql欄位,型別對應於java的String;

2.如何將mysql中的字串轉成File檔案

           首先我們要在本地建立一個空的File檔案的輸出流,這是用來儲存存在資料庫裡的file資料的容器;

           這裡我用jar做示例:

           FileOutputStream out = new FileOutputStream("D:\\demo.jar");  //建立一個jar檔案的輸出流,此時是空的

           然後取出字串使用java提供的Base64的解碼工具進行解碼,將解碼後的資料存進上方輸出流指定的檔案;

           byte[] buffer = new BASE64Decoder().decodeBuffer(ibconFile1.getFileData());

           out.write(buffer);            out.close();

           此時輸出流的寫入檔案也就是demo.jar已經生成完成,接下來就可以操作這個File檔案,進行操作接下來的業務;

           File toFile = new File("D:\\demo.jar");

           OK,file檔案生成成功,資料不會損壞,簡單儲存檔案,百分百還原 !!!!!!!!!

           如有疑問,或者愛交流學習JAVA的小夥伴們,可以加Q群 + 583055236 進行交流溝通!!!!!