redis 如何将文件(包含内容)以对象的形式或者二进制流的形式保存(百度出来的全是错的-只保存了文件的路劲)。。。

weixin_38063515 2018-03-22 12:30:13
各位大神 你们好啊  在下 请教一个简单的问题     redis 如何将文件(包含内容)以对象的形式或者二进制流的形式保存(百度出来的全是错的-只保存了文件的路劲)。。。    示例如下: @Component public class DownloadComponent {        @Autowired     private RedisComponent  redisComponent;          /**      * 序列化方法      * @param value      * @param htmlFile      * @return      */     public byte[] object2Bytes(Object value,File htmlFile) {        if (value == null)        return null;         ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();         ObjectOutputStream outputStream;     try {         outputStream = new ObjectOutputStream(arrayOutputStream);         outputStream.writeObject(value);     } catch (IOException e) {             e.printStackTrace();     } finally {             try {             arrayOutputStream.close();             } catch (IOException e) {             e.printStackTrace();             }            if(htmlFile==null){                            }else{                htmlFile.deleteOnExit();//程序退出时删除临时文件            }                     }         return arrayOutputStream.toByteArray();     }     /**      * 反序列化方法      * @param bytes      * @return      */     public Object byte2Object(byte[] bytes) {         if (bytes == null || bytes.length == 0)         return null;     try {         ObjectInputStream inputStream;         inputStream = new ObjectInputStream(new ByteArrayInputStream(bytes));         Object obj = inputStream.readObject();             return obj;         } catch (IOException e) {                 e.printStackTrace();         } catch (ClassNotFoundException e) {                 e.printStackTrace();         }         return null;     }          /**      * 保存文件方法      * @param key      * @param path      * @param htmlFile      */     public void setFile(String key,String path,File htmlFile){     File fr = null;     try {         fr = new File(path);     } catch (Exception e) {         // TODO Auto-generated catch block         e.printStackTrace();     }     //redis.set(key.getBytes(), object2Bytes(fr));     redisComponent.save(key, object2Bytes(fr,htmlFile),1800);     }          /**      * 读取文件对象方法      * @param key      * @return      */     public Object getFile(String key){     Object find = redisComponent.findByKey(key);     return find;     } } 但是  里面保存文件的方法  最终中是把文件的路劲 以对象的形式保存了。。。。 我需要保存文件 内容-----关于文件的全部保存   我应该如何做呢?  请大神指点。。。
...全文
63 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复

435

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧