精华内容
下载资源
问答
  • 可以尝试下载一个名称为:文件不存在.txt 的文档,里面还可以补充说明信息,保证每次能下载到文件,避免没有响应到用户的情况。2.后台输出一段JavaScript脚本提示文件不存在或已经被删除。直接上代码前端只有给出一...

    做文件下载功能的时候,一般使用流的形式下载文件,

    如果源文件不存在,下载页面可能就会没有提示,或者一片空白

    用户操作之后可能一头雾水,那如何友好提示呢?

    想到的有两种

    1.可以尝试下载一个名称为:文件不存在.txt 的文档,里面还可以补充说明信息,保证每次能下载到文件,避免没有响应到用户的情况。

    2.后台输出一段JavaScript脚本提示文件不存在或已经被删除。

    直接上代码

    前端只有给出一个超链接即可

    套路得人心.jpg

    后端控制器代码

    /**

    * 下载发票

    * @param request

    * @return

    */

    @RequestMapping(value = "/receipt/download",method = RequestMethod.GET)

    public void downloadReceipt(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {

    // 获得要下载的文件的名称

    String fileName = request.getParameter("fileName");

    File file = new File(receiptPath + fileName);

    if(file.exists()){

    try {

    String userAgent = request.getHeader("User-Agent");

    if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {

    //IE浏览器处理

    fileName = java.net.URLEncoder.encode(fileName, "UTF-8");

    } else {

    // 非IE浏览器的处理:

    fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");

    }

    // 以流的形式下载文件。

    InputStream inputStream = new BufferedInputStream(new FileInputStream(file));

    byte[] buffer = new byte[inputStream.available()];

    inputStream.read(buffer);

    inputStream.close();

    // 清空response

    response.reset();

    // 设置response的Header

    response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName));

    response.addHeader("Content-Length", "" + file.length());

    OutputStream outputStream = new BufferedOutputStream(response.getOutputStream());

    response.setContentType("application/octet-stream");

    outputStream.write(buffer);

    outputStream.flush();

    outputStream.close();

    }catch (IOException ex) {

    log.error("下载文件出错:" + ex);

    }

    }else{

    try {

    response.setContentType("text/html; charset=UTF-8"); //转码

    PrintWriter out = response.getWriter();

    out.flush();

    out.println("

    out.println("alert('文件不存在或已经被删除!');");

    out.println("window.location='/AnnualStatistics/downloadList';");

    out.println("");

    } catch (IOException e) {

    log.error("下载文件出错:" + e);

    }

    }

    }

    效果

    e359b0861e3306bdb55aeb31f1a5054a.png

    js 前端实现文件流下载的几种方式

    后端是用Java写的一个下载的接口,返回的是文件流,需求:点击,请求,下载 利用iframe实现文件流下载 //把上一次创建的iframe删掉,不然随着下载次数的增多页面上会一堆的iframe var ...

    js文件流下载通用方法

    通常我们会用到文件流下载文件,下面给大家一个通用的文件流下载的js /* *下载文件 * options:{ * url:'', //下载地址 * isNewWinOpen:false,是否新窗口打开 ...

    js实现使用文件流下载csv文件

    1. 理解Blob对象 在Blob对象出现之前,在javascript中一直没有比较好的方式处理二进制文件,自从有了Blob了,我们就可以使用它操作二进制数据了.现在我们开始来理解下Bolb对象及它的 ...

    文件流下载时 axios blob文件大小不正确?

    文件流下载时 js blob文件大小不正确? res.data的字节长度 length blob.size匹配不上.. axio请求里必须修改 responseType: 'blob' 参数, 默认是 ...

    【O】VSS 2005上传PDF文件之后,打开提示文件损坏或者内容为空

    问题: VSS 2005上传PDF文件之后,打开提示文件损坏或者内容为空: 解决方式: 在vss的客户端的tools-option中,file type选项卡里,在binary file文本框中,加入 ...

    win7系统复制文件到u盘提示文件过大怎么办

    转载:https://www.xitmi.com/770.html 系统相信很多朋友都遇到过这种情况,在你拷贝文件到u盘时,u盘剩余空间明明很大,但是却复制不进去,电脑提示“对于目标文件系统 文件过大 ...

    java 根据Url下载对应的文件到指定位置,读txt文件获取url

    package test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; im ...

    Java字符流和字节流对文件操作

    记得当初自己刚开始学习Java的时候,对Java的IO流这一块特别不明白,所以写了这篇随笔希望能对刚开始学习Java的人有所帮助,也方便以后自己查询.Java的IO流分为字符流(Reader,Writ ...

    Java文件流应用:剪切文件

    剪切的实际操作是: 第一步,先复制文件到指定位置, 第二步,删除原文件,这样就实现了剪切 与复制文件相比,多了一步删除文件 注意:删除文件必须在流关闭后,才能删除,否则,删除不了. 实例代码 pack ...

    随机推荐

    关于ER图和UML图之间的对比

    ER图与UML图 ER图:实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,ER图提供了表示实体(即数据对象).属性和联系的方法,用来 ...

    BZOJ 1863: [Zjoi2006]trouble 皇帝的烦恼( 二分答案 )

    二分答案..然后从头到尾推一下, 看最后一个能不能取0个和第一个人相同的勋章 ------------------------------------------------------------- ...

    iOS开发之理解iOS中的MVC设计模式

    模型-视图-控制器(Model-View-Controller,MVC)是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已广泛应用于用户交互应用程 ...

    String.getBytes(),源码之下,了无秘密

    @Deprecated public void getBytes(int srcBegin, int srcEnd, byte dst[], int dstBegin) { if (srcBegin ...

    Vue的组件为什么要export default

    Vue 的模块机制 Vue 是通过 webpack 实现的模块化,因此可以使用 import 来引入模块,例如: 此外,你还可以在bulid/webpack.base.conf.js文件中修改相关配置 ...

    python自动化运维之路~DAY4

    python自动化运维之路~DAY4   作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模块导入方式详解. 关于Python有几种导入模块的方式,请参考我的另外一篇博客(第20 ...

    Flume原理解析【转】

    一.Flume简介 flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用.Flume 初始的发行版本目前被统称为 Flume OG(original generati ...

    Leetcode 832.翻转图像

    1.题目描述 给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果. 水平翻转图片就是将图片的每一行都进行翻转,即逆序.例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1] ...

    meshconverters

    https://github.com/RobotLocomotion/meshConverters meshconverters $ mkdir build && cd build $ ...

    转: 利用RabbitMQ、MySQL实现超大用户级别的消息在/离线收发

    由于RabbitMQ中只有队列(queue)才能存储信息,所以用RabbitMQ实现超大用户级别(百万计)的消息在/离线收发需要对每一个用户创建一个永久队列. 但是RabbitMQ节点内存有限,经测试 ...

    展开全文
  • 判断文件夹是否存在,不存在则创建文件夹。推荐学习:java视频教程File file =new File("C:UsersQPINGDesktopJavaScript");//如果文件夹不存在则创建if (!file .exists() && !file .isDirectory()){System....

    a2f316a751acf13e4cb8842f19ff3ad7.png

    判断文件夹是否存在,不存在则创建文件夹。

    推荐学习:java视频教程File file =new File("C:UsersQPINGDesktopJavaScript");

    //如果文件夹不存在则创建

    if (!file .exists() && !file .isDirectory())

    {

    System.out.println("//不存在");

    file .mkdir();

    } else

    {

    System.out.println("//目录存在");

    }

    扩展:

    判断文件是否存在,不存在创建文件File file=new File("C:UsersQPINGDesktopJavaScript2.htm");

    if(!file.exists())

    {

    try {

    file.createNewFile();

    } catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    相关文章教程推荐:java入门教程

    展开全文
  • Java 文件不存在时创建文件

    千次阅读 2017-03-19 19:02:10
    File fileParent = new File("F:"+File.separator+"路测数据缓存"+File.separator+...fileParent.exists()){//不存在则创建路径 fileParent.mkdirs(); } //创建文件 String filePath = "F:"+File.separato
    File fileParent = new File("F:"+File.separator+"路测数据缓存"+File.separator+loginName);//新建文件路径
    if(!fileParent.exists()){//不存在则创建路径
    fileParent.mkdirs();

    }

    //创建文件

    String filePath = "F:"+File.separator+"路测数据缓存"+File.separator+loginName+File.separator+"报告_"+cid+".xls";
    File file = new File(filePath);
    if(!file.exists()){
    try {
               file.createNewFile();
                } catch (IOException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
                }
    }
    展开全文
  • 我正在构建Java应用程序(Spring和JSF&PrimeFaces)。我将文件上传到服务器,但是,如果在文件上传结束后立即单击“下一步”按钮,则会出现此错误:Aug 24, 2013 8:12:34 PM org.apache.catalina.core....

    我正在构建Java应用程序(Spring和JSF&PrimeFaces)。我将文件上传到服务器,但是,如果在文件上传结束后立即单击“下一步”按钮,则会出现此错误:

    Aug 24, 2013 8:12:34 PM org.apache.catalina.core.StandardWrapperValve invoke

    SEVERE: Servlet.service() for servlet [appServlet] in context with path [/codekata] threw exception [Request processing failed; nested exception is org.springframework.webflow.execution.repository.FlowExecutionRestorationFailureException: A problem occurred restoring the flow execution with key 'e1s3'] with root cause

    java.io.FileNotFoundException: C:\Users\Luke\AppData\Local\Temp\upload__6f71235a_140b1bdd246__8000_00000011.tmp (The system cannot find the file specified)

    at java.io.FileInputStream.open(Native Method)

    at java.io.FileInputStream.(FileInputStream.java:138)

    at org.apache.commons.fileupload.disk.DiskFileItem.readObject(DiskFileItem.java:709)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)

    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1891)

    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)

    java.lang.Thread.run(Thread.java:722)

    如果我等待几秒钟,一切正常。我认为上载文件需要时间才能将其自身复制到临时文件夹中,是否有人知道如何解决此问题。我使用Tomcat 7。

    这是我的下载方法:

    public StreamedContent getDownloadFile()

    {

    InputStream inputStream = new ByteArrayInputStream(selectedBook.getBookText().getText().getBytes());

    return new DefaultStreamedContent(inputStream, "text/plain", selectedBook.getTitle() + ".txt", BookBean.encoding);

    }

    谢谢,卢克。

    展开全文
  • 没有人遇到java.io.File不存在但在文件实例上调用getAbsoluteFile()方法返回确实存在的文件的情况.为什么会这样呢?注意>我在Linux上以及版本1.7.0_95-b00的Oracle Java运行时>我传递了JVM选项-Duser.dir = / ...
  • 每天都有分享。完全是免费订阅,请放心关注。注:本文转载自网络,代表本平台立场,仅供读者参考,著作权属...在Java中有很多的方法可以创建文件文件,你是否真的认真的总结过?下面小编就帮大家总结一下Java中...
  • java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经62616964757a686964616fe78988e69d8331333365636639初始化的对象或者是不存在的对象,这个...
  • Java FileOutputStream如果不存在则创建文件有没有办法以一种方式使用FileOutputStream,如果文件(String filename)不存在,那么它会创建它吗?...8个解决方案237 votes如果文件不存在且无法创建(doc),它将抛出Fil...
  • 1、判断文件是否存在,不存在创建文件File file=new File("C:\\Users\\QPING\\Desktop\\JavaScript\\2.htm");if(!file.exists()){try {file.createNewFile();} catch (IOException e) {// TODO Auto-generated catch...
  • 一、判断文件是否存在,不存在则创建File file = new File("d:est.txt");if (!file.exists()) {try {file.createNewFile();} catch (IOException e) {e.printStackTrace();}System.out.println("文件已创建");} else...
  • 1、判断文件是否存在,不存在创建文件File file=new File("C:\Users\QPING\Desktop\JavaScript\2.htm");if(!file.exists()){try {file.createNewFile();} catch (IOException e) {// TODO Auto-generated catch ...
  • 一、判断文件是否存在,不存在则创建File file = new File("d:\\test.txt");if (!file.exists()) {try {file.createNewFile();} catch (IOException e) {e.printStackTrace();}System.out.println("文件已创建");} ...
  • 1.可以尝试下载一个名称为:文件不存在.txt 的文档,里面还可以补充说明信息,保证每次能下载到文件,避免没有响应到用户的情况。 2.后台输出一段JavaScript脚本提示文件不存在或已经被删除。 直接上代码 前端只....
  • C:\Program Files\Java\jre7\bin>keytool -list -v -keystore"C:\Users\Suresh\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass androidkeytool error: java.lang.Except...
  • import java.io.File;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class Uffer {public static void main(String []args) {Calendar c1 = Calend...
  • 一、判断文件是否存在,不存在则创建File file = new File("d:\test.txt");if (!file.exists()) {try {file.createNewFile();} catch (IOException e) {e.printStackTrace();}System.out.println("文件已创建");} ...
  • java不存在文件夹的目录下创建文件 1、 StringstrPath="E:\\a\\aa\\aaa.txt"; Filefile=newFile(strPath); if(!file.exists())){ file.file.mkdirs(); } 2、 StringstrPath="E:\\a\\aa...
  • 进行java文件读写操作时,先创建文件对象(java里文件和目录 都使用File对象,确保该File对象是一个带扩展名文件)。判断该文件对象是否存在,若存在,继续,若不存在,获取改文件的所在目录(parentFile)是否存在...
  • java文件引用 提示包不存在

    千次阅读 2017-01-22 16:49:35
    那么要在另一个java文件中引用这个类,需要先把包结构的父路径添加到classpath(添加/a/b到classpath),然后在需要引用的java文件中添加import 包名;(import c.d.e;); 总的来说,就是classpath跟包名拼接起来能...
  • YDOOK:Java: 判断文件是否存在,不存在就创建 © YDOOK JY Lin 文章目录YDOOK:Java: 判断文件是否存在,不存在就创建© YDOOK JY Lin1. 实例代码: 1. 实例代码: // 判断文件是否存在,不存在就创建改文件 public...
  • java判断文件目录是否存在:(推荐:java视频教程)/*** 判断文件夹是否存在* @param file*/public void checkDirExists(File file) {if (file.exists()) {if (file.isDirectory()) {LOG.info("目录存在");} else {LOG...
  • 问题在打开文件以便在Java中读取之前,如何检查文件是否存在? (相当于Perl的-e $ filename)。编写文件的唯一similar question on SO,因此使用FileWriter回答,这显然适用于此处。如果可能的话,我更喜欢真正的...
  • 获取项目绝对路径:this.getClass().getClassLoader().getResource(".").getPath()1、判断文件是否存在,不存在创建文件File file=new File("C:\\Users\\QPING\\Desktop\\JavaScript\\2.htm");if(!file.exists()){...
  • 一、判断文件是否存在,不存在则创建File file = new File("d:\\test.txt");if (!file.exists()) {try {file.createNewFile();} catch (IOException e) {e.printStackTrace();}System.out.println("文件已创建");} ...
  • 一、判断文件是否存在,不存在则创建File file = new File("d:\test.txt");if (!file.exists()) {try {file.createNewFile();} catch (IOException e) {e.printStackTrace();}System.out.println("文件已创建");} ...
  • java检验ftp服务器中文件是否存在的方法发布时间:2020-06-16 11:11:27来源:亿速云阅读:208作者:Leah今天就跟大家聊聊有关java检验ftp服务器中文件是否存在的方法,相信大部分人都还知道这个技巧,因此给大家...
  • java如果判断文件夹或文件不存在就创建文件夹或文件 1、判断文件是否存在,不存在创建文件 File file=new File("e:/cc/cc.jpg"); if(!file.exists()) { try { file.createNewFile(); } catch ...
  • 这是复制从后往前windows路径‪显示没问题... }else System.out.println("文件不存在"); } 结果如下: 下面是从前往后复制 在cmd命令行中看到 代码看不出差别运行结果如下 window直接复制路径从后往前就有可能出错 
  • java判断文件是否存在的方法发布时间:2020-06-24 13:09:50来源:亿速云阅读:140作者:Leah本篇文章展示了java...一、判断文件是否存在,不存在则创建File file = new File("d:\\test.txt");if (!file.exists()) {t...
  • Java中,File 类是 java.io 包中唯一代表磁盘文件本身的对象,也就是说,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成。File 类定义了一些方法来操作文件,如新建、删除、重命名文件和目录等。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,573
精华内容 4,229
关键字:

java文件不存在

java 订阅