zoukankan      html  css  js  c++  java
  • POI 临时文件夹“poifiles”问题

    问题:

        POI 生成文件时会根据“java.io.tmpdir”配置自动生成 {java.io.tmpdir}/poifiles/,Linux上是生成到 /tmp/poifiles。但是第一次访问时,poi会创建poifiles文件夹,如果是非root用户申请的,那么其他的非root用户就没有权限访问了。这就会造成POI生成临时文件失败。

    解决:

      方法一(不推荐):

        修改“java.io.tmpdir”对应的目录,在linux上,java.io.tmpdir对应的目录是/tmp,所以修改启动参数,将“java.io.tmpdir”改为指定的目录。但是这会造成该项目下所有的临时文件路径被修改

           方法二:

                  在程序启动时设置一次

            //修改poi临时文件路径
            File dir = new File(System.getProperty("java.io.tmpdir") , "test/poi");
            FileUtils.forceMkdir(dir);
            TempFile.setTempFileCreationStrategy(new DefaultTempFileCreationStrategy(dir));
    注意
    两种方式同时存在时,以方式二执行
    
    
  • 相关阅读:
    暑期学习录
    08管道命名符
    07输入输出重定向
    06grep与find命令详解
    05tar命令详解
    04文件目录管理命令
    03工作目录切换命令与文本文件编辑命令
    02系统状态检测命令
    01常用系统工作命令
    vue2.0细节剖析
  • 原文地址:https://www.cnblogs.com/jiehanshi/p/14991671.html
Copyright © 2011-2022 走看看