下面的代码简单的实现了java下载文件的步骤,看代码:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取文件的类名 String Path=this.getClass().getResource("/").getPath()+"JAVA笔记.txt"; //对获取的路径进行解码 Path=URLDecoder.decode(Path); //获取文件名字和扩展名 String FileName=Path.substring(Path.lastIndexOf("/")+1,Path.length()); //设置输出文件名编码 FileName=URLEncoder.encode(FileName, "UTF-8"); //设置头信息 response.setHeader("content-disposition", "attachment;filename="+FileName); response.setContentType("application/octet-stream"); //获取文件流对象 FileInputStream file=new FileInputStream(Path); //定义字节数组,长度为文件流的长度 byte[] buffers=new byte[file.available()]; //获取输出流对象 OutputStream writer=response.getOutputStream(); //把流输出到字节数组中去 file.read(buffers); //写到页面 writer.write(buffers); //关闭流 writer.close(); file.close(); }
效果图:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决