工程结构

1.生成一个文件到指定文件夹下

//产生一个唯一的名字
this.setFileName(String.valueOf(System.currentTimeMillis()));
String path = ServletActionContext.getServletContext().getRealPath("/template/WordExportTemplate");
//工程下的完整路径名
String filepath = path +"\\" + fileName + ".doc";//写入文件
Writer  out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath,true), "utf-8"), 10240);
out.write("   ");

2.将指定文件下的文件输出到客户端(将上面产生的文件输出)

public InputStream getInputStream() throws Exception {create();String path = ServletActionContext.getServletContext().getRealPath("/template/WordExportTemplate");String filepath = path +"\\" + fileName + ".doc";//完整的路径名File file = new File(filepath);//只用返回一个输入流return FileUtils.openInputStream(file);}

3.将客户端上传的文件以特定名字存到指定文件夹下:

public String execute() throws Exception{ServletContext servletContext = ServletActionContext.getServletContext();
//        fileNameFileName表示文件上传时候的名字,也可以自己用UUID定义一个新的名字String dir = servletContext.getRealPath("/template/ExcelImportTemplate/"+fileNameFileName);System.out.println(dir);
//        文件输出流,写到dir指定的目录与名字FileOutputStream outputStream = new FileOutputStream(dir);
//        打开上传的文件的输入流FileInputStream inputStream = new FileInputStream(fileName);byte[] buffer = new byte[1024];int len = 0;
//        从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中.读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。while((len = inputStream.read(buffer))!=-1){
//            将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。outputStream.write(buffer, 0, len);}inputStream.close();outputStream.close();return SUCCESS;}

4.读取指定文件夹下指定名字的文件:

ServletContext servletContext = ServletActionContext.getServletContext();//        fileNameFileName表示文件上传时候的名字,也可以自己用UUID定义一个新的名字String dir = servletContext.getRealPath("/template/ExcelImportTemplate/"+fileNameFileName);File file = new File(dir);FileInputStream openInputStream = FileUtils.openInputStream(file);HSSFWorkbook workbook = new HSSFWorkbook(openInputStream);

 

5. FileInputStream   FileOutputStream是类。可以直接读取与写。

构造方法

例如:

public InputStream getInputStream() throws Exception {create();String path = ServletActionContext.getServletContext().getRealPath("/template/ExcelExportTemplate");String filepath = path +"\\" + fileName + ".xls";File file = new File(filepath);//只用返回一个输入流return FileUtils.openInputStream(file);}

String path = ServletActionContext.getServletContext().getRealPath("/template");File tempFile = new File(path, templateName + ".xls");
tempFile.delete();
tempFile.createNewFile();
FileOutputStream stream = FileUtils.openOutputStream(tempFile);

1 ServletContext servletContext = ServletActionContext.getServletContext();
2 // fileNameFileName表示文件上传时候的名字,也可以自己用UUID定义一个新的名字
3  String dir = servletContext.getRealPath("/template/ExcelImportTemplate/"+fileName);
4 FileOutputStream outputStream = new FileOutputStream(dir);

转载于:https://www.cnblogs.com/qlqwjy/p/7236467.html

Web下文件上传下载的路径问题相关推荐

  1. SpringMVC Web实现文件上传下载功能实例解析

    需求: 项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在20G内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以20G来进行限制. PC端全平台支持,要求支持Window ...

  2. php webwxuploadmedia_PHP Web实现文件上传下载功能实例解析

    PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...

  3. Java实现FTP批量大文件上传下载

    用Java实现FTP批量大文件上传下载 <iframe id="I0_1416224567509" style="margin: 0px; padding: 0px ...

  4. SpringMVC整合fastdfs-client-java实现web文件上传下载

    为什么80%的码农都做不了架构师?>>>    版权声明:本文为博主原创文章,转载请标明出处(http://blog.csdn.net/wlwlwlwl015)Thanks. 目录( ...

  5. centos nfs java_CentOS下安装配置NFS并通过Java进行文件上传下载

    1:安装NFS (1)安装 yum install nfs-utils rpcbind (2)启动rpcbind服务 systemctl restart rpcbind.service 查看服务状态 ...

  6. Linux下goahead3.3.6的移植以及文件上传下载示例

    #开源库下载 下载地址 https://embedthis.com/goahead/download.html 在下载地址中可以看到说明 Source Code Repository To acces ...

  7. Java Web 文件上传下载

    文章目录 1文件上传概述 1.1文件上传的作用 1.2文件上传对页面的要求 1.3 比对文件上传表单和普通文本表单的区别 1.4 对普通文本表单的测试 1.5 文件上传对Servlet的要求 2 co ...

  8. 19. web 应用常用功能 -文件上传下载

    文章目录 19.1 基本介绍 19.2 文件上传 19.2.1 文件上传的基本原理 19.2.2 文件上传应用实例 19.2.3 文件上传注意事项和细节 19.3 文件下载 19.3.1 文件下载的原 ...

  9. java实现excel文件上传_java相关:SpringMVC下实现Excel文件上传下载

    java相关:SpringMVC下实现Excel文件上传下载 发布于 2020-6-21| 复制链接 摘记: 在实际应用中,经常会遇到上传Excel或者下载Excel的情况,比如导入数据.下载统计数据 ...

最新文章

  1. python htmltestrunner报告_Python HTMLTestRunner可视化报告实现过程解析
  2. html追加行clone,调用clone()方法后就可以将复制的节点追加到body元素内。( ) 答案:√...
  3. 计算机转集成光学,集成光学
  4. 怎样对流媒体进行压力测试_暖气片怎样安装效果好?暖气片正确的安装,采暖效果更好!...
  5. CentOS7: How to resolve curl#56 - Recv failure: Connection reset by peer
  6. ide 日志 乱码_IDE日志分析方法pt。 2
  7. spring中怎么让事物提交_Spring怎么在一个事务中开启另一个事务
  8. 微软官方及第三方SDK http://msdn.microsoft.com/zh-cn/jj923044
  9. Java字符串替换(replace)
  10. 8.11 NOIP模拟测试17 入阵曲+将军令+星空
  11. Spring Cloud-honghu Cloud分布式微服务云系统--云架构代码结构构建
  12. 【动态规划笔记】背包问题:搬寝室
  13. 用友U8.72总账报表速学手册
  14. 锁定Excel部分单元格不能编辑,可以这样操作
  15. Vue+ElementUI 限制结束时间不能大于开始时间
  16. 【TL第二期】动手学数据分析-第二章 数据预处理
  17. VGG16系列IV: 参数计算
  18. 广告竞价-广义第二出价
  19. 「DR老兵寻访」游戏正规军的“万智牌生态”链改计划
  20. 一些RJS资源和演示入门教程

热门文章

  1. 公司举办的拓展活动有感!
  2. RSA加解密算法原理
  3. 计算机管理损坏的图像,win7系统提示损坏的图像的解决方法
  4. 每日安全简讯20160721
  5. android7.0root工具,你与玩转Android 7.0,只差一个KingRoot的距离
  6. 昆明第十二中学计算机笔试题目,昆明市第十二中学2015年招考笔试、面试、课堂考核安排公告...
  7. electron-builder+electron-updater实现应用自动更新过程
  8. 杰理之蓝牙连接成功自动播放【篇】
  9. 一位实习生对软件测试的看法
  10. 如何让空调少用电,空气能热泵控制系统是这样实现的