8 -- 深入使用Spring -- 3...1 Resource實現類InputStreamResource、ByteArrayResource


      8.3.1 Resource實現類------InputStreamResource:訪問輸入流資源的實現類。ByteArrayResource:訪問字節數組資源的實現類。

        5. 訪問字節數組資源

          ⊙ InputStreamResource          

          Spring 提供了InputStreamResource 來訪問二進制輸入流資源,InputStreamResource是針對輸入流的Resource實現,只有當沒有適合的Resource實現時,才考慮使用該InputStreamResource。在通常情況下優先考慮使用ByteArrayResource,或者基於文件的Resource實現。

          與其他Resource實現不同的是,InputStreamResource是一個總是被打開的Resource,所以isOpen()方法總是返回true。因此如果需要多次讀取某個流,就不要使用InputStreamResource,創建InputStreamResource實例時應提供一個InputStream參數。

          在一些個別的情況下,InputStreamResource是有用的。例如從數據庫中讀取得到一個Blob對象,程序需要獲取該Blob對象的內容,就可先通過Blob的getBinaryStream()方法獲取二進制輸入流,再將該二進制輸入流包裝成Resource對象,然后就可通過該Resource對象來訪問該Blob對象所包含的資源了。

          ⊙ ByteArrayResource

          Spring 提供的ByteArrayResource用於直接訪問字節數組資源,字節數組是一個常見的信息傳輸方式;網絡Socket之間的信息交換,或者線程之間的信息交換等,字節數組都被作為信息載體。ByteArrayResource可將字節數組包裝成Reosurce使用。

        String context = "nihao";
        byte[] fileBytes = context.getBytes();
        ByteArrayResource bar = new ByteArrayResource(fileBytes);

啦啦啦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM