-
java 文件不存在_Java文件流下载并提示文件不存在
2021-03-07 10:59:56可以尝试下载一个名称为:文件不存在.txt 的文档,里面还可以补充说明信息,保证每次能下载到文件,避免没有响应到用户的情况。2.后台输出一段JavaScript脚本提示文件不存在或已经被删除。直接上代码前端只有给出一...做文件下载功能的时候,一般使用流的形式下载文件,
如果源文件不存在,下载页面可能就会没有提示,或者一片空白
用户操作之后可能一头雾水,那如何友好提示呢?
想到的有两种
1.可以尝试下载一个名称为:文件不存在.txt 的文档,里面还可以补充说明信息,保证每次能下载到文件,避免没有响应到用户的情况。
2.后台输出一段JavaScript脚本提示文件不存在或已经被删除。
直接上代码
前端只有给出一个超链接即可
后端控制器代码
/**
* 下载发票
* @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);
}
}
}
效果
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 文件不存在则创建文件夹,java实现文件夹不存在则创建
2021-04-08 12:17:48判断文件夹是否存在,不存在则创建文件夹。推荐学习:java视频教程File file =new File("C:UsersQPINGDesktopJavaScript");//如果文件夹不存在则创建if (!file .exists() && !file .isDirectory()){System....判断文件夹是否存在,不存在则创建文件夹。
推荐学习: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:10File fileParent = new File("F:"+File.separator+"路测数据缓存"+File.separator+...fileParent.exists()){//不存在则创建路径 fileParent.mkdirs(); } //创建文件 String filePath = "F:"+File.separatoFile 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 文件不存在异常_找不到临时文件的文件异常
2021-03-22 14:40:41我正在构建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 getabsolutefile()_Java文件不存在,但File.getAbsoluteFile()存在
2021-03-08 07:16:19没有人遇到java.io.File不存在但在文件实例上调用getAbsoluteFile()方法返回确实存在的文件的情况.为什么会这样呢?注意>我在Linux上以及版本1.7.0_95-b00的Oracle Java运行时>我传递了JVM选项-Duser.dir = / ... -
java文件不存在就创建_Java中创建并写文件的5种方式
2021-01-27 04:27:26每天都有分享。完全是免费订阅,请放心关注。注:本文转载自网络,不代表本平台立场,仅供读者参考,著作权属...在Java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面小编就帮大家总结一下Java中... -
java 文件不存在异常_在java中常出现的异常和解决方法?
2021-02-26 15:58:55java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经62616964757a686964616fe78988e69d8331333365636639初始化的对象或者是不存在的对象,这个... -
java file 不存在_Java FileOutputStream如果不存在则创建文件
2021-02-27 19:54:29Java FileOutputStream如果不存在则创建文件有没有办法以一种方式使用FileOutputStream,如果文件(String filename)不存在,那么它会创建它吗?...8个解决方案237 votes如果文件不存在且无法创建(doc),它将抛出Fil... -
java 文件夹不存在则创建_java判断文件不存在就创建的方法
2021-02-28 07:25:141、判断文件是否存在,不存在创建文件File file=new File("C:\\Users\\QPING\\Desktop\\JavaScript\\2.htm");if(!file.exists()){try {file.createNewFile();} catch (IOException e) {// TODO Auto-generated catch... -
java文件存在则新建文件名_java中如何判断文件是否存在,不存在则新建文件
2021-03-15 12:21:29一、判断文件是否存在,不存在则创建File file = new File("d:est.txt");if (!file.exists()) {try {file.createNewFile();} catch (IOException e) {e.printStackTrace();}System.out.println("文件已创建");} else... -
验证JAVA不存在_java判断文件不存在就创建的方法
2021-03-13 01:46:121、判断文件是否存在,不存在创建文件File file=new File("C:\Users\QPING\Desktop\JavaScript\2.htm");if(!file.exists()){try {file.createNewFile();} catch (IOException e) {// TODO Auto-generated catch ... -
java 判断文件存不存在_java中如何判断文件是否存在,不存在则新建文件
2021-02-12 23:00:54一、判断文件是否存在,不存在则创建File file = new File("d:\\test.txt");if (!file.exists()) {try {file.createNewFile();} catch (IOException e) {e.printStackTrace();}System.out.println("文件已创建");} ... -
Java文件流下载并提示文件不存在
2019-07-05 17:19:001.可以尝试下载一个名称为:文件不存在.txt 的文档,里面还可以补充说明信息,保证每次能下载到文件,避免没有响应到用户的情况。 2.后台输出一段JavaScript脚本提示文件不存在或已经被删除。 直接上代码 前端只.... -
java密钥文件不存在怎么恢复_关于java:默认密钥库文件不存在?
2021-03-12 10:35:15C:\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... -
java里 不存在 怎么表示_java 写的检查文件存在性,如果不存在创建文件
2021-03-15 16:43:18import 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... -
java 判断文件是否存在 存在就删除_java中如何判断文件是否存在,不存在则新建文件...
2021-02-28 13:16:31一、判断文件是否存在,不存在则创建File file = new File("d:\test.txt");if (!file.exists()) {try {file.createNewFile();} catch (IOException e) {e.printStackTrace();}System.out.println("文件已创建");} ... -
java创建不存在路径的文件
2017-12-11 18:33:00java在不存在文件夹的目录下创建文件 1、 StringstrPath="E:\\a\\aa\\aaa.txt"; Filefile=newFile(strPath); if(!file.exists())){ file.file.mkdirs(); } 2、 StringstrPath="E:\\a\\aa... -
java创建不存在的多级目录文件,并写入文件。
2019-12-13 20:14:28进行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: 判断文件是否存在,不存在就创建
2021-03-25 23:16:15YDOOK:Java: 判断文件是否存在,不存在就创建 © YDOOK JY Lin 文章目录YDOOK:Java: 判断文件是否存在,不存在就创建© YDOOK JY Lin1. 实例代码: 1. 实例代码: // 判断文件是否存在,不存在就创建改文件 public... -
java 文件目录是否存在_java判断文件目录是否存在(附代码)
2021-02-12 14:53:43java判断文件目录是否存在:(推荐:java视频教程)/*** 判断文件夹是否存在* @param file*/public void checkDirExists(File file) {if (file.exists()) {if (file.isDirectory()) {LOG.info("目录存在");} else {LOG... -
java查找本地文件是否存在_如何检查Java中是否存在文件?
2021-03-09 00:51:27问题在打开文件以便在Java中读取之前,如何检查文件是否存在? (相当于Perl的-e $ filename)。编写文件的唯一similar question on SO,因此使用FileWriter回答,这显然不适用于此处。如果可能的话,我更喜欢真正的... -
java 文件夹存在文件_Java判断是否存在文件和文件夹
2021-03-05 21:29:09获取项目绝对路径:this.getClass().getClassLoader().getResource(".").getPath()1、判断文件是否存在,不存在创建文件File file=new File("C:\\Users\\QPING\\Desktop\\JavaScript\\2.htm");if(!file.exists()){... -
java判断文件是否存在_Java判断文件、文件夹是否存在
2021-02-28 19:06:56一、判断文件是否存在,不存在则创建File file = new File("d:\\test.txt");if (!file.exists()) {try {file.createNewFile();} catch (IOException e) {e.printStackTrace();}System.out.println("文件已创建");} ... -
java 没有则创建文件_java中实现判断文件是否存在,不存在则创建
2021-03-13 19:21:23一、判断文件是否存在,不存在则创建File file = new File("d:\test.txt");if (!file.exists()) {try {file.createNewFile();} catch (IOException e) {e.printStackTrace();}System.out.println("文件已创建");} ... -
java ftp文件是否存在_java检验ftp服务器中文件是否存在的方法
2021-03-04 02:21:36java检验ftp服务器中文件是否存在的方法发布时间:2020-06-16 11:11:27来源:亿速云阅读:208作者:Leah今天就跟大家聊聊有关java检验ftp服务器中文件是否存在的方法,相信大部分人都还不知道这个技巧,因此给大家... -
java如果判断文件夹或文件不存在就创建文件夹或文件
2018-12-25 17:20:04java如果判断文件夹或文件不存在就创建文件夹或文件 1、判断文件是否存在,不存在创建文件 File file=new File("e:/cc/cc.jpg"); if(!file.exists()) { try { file.createNewFile(); } catch ... -
Java文件java.io.File 创建文件读取时路径是对的但是显示文件不存在
2020-11-03 20:22:13这是复制从后往前windows路径显示没问题... }else System.out.println("文件不存在"); } 结果如下: 下面是从前往后复制 在cmd命令行中看到 代码看不出差别运行结果如下 window直接复制路径从后往前就有可能出错 -
java判断方法是否存在_java判断文件是否存在的方法
2021-02-28 06:36:16java判断文件是否存在的方法发布时间:2020-06-24 13:09:50来源:亿速云阅读:140作者:Leah本篇文章展示了java...一、判断文件是否存在,不存在则创建File file = new File("d:\\test.txt");if (!file.exists()) {t... -
java判断 linux上文件不存在_Java File类(文件操作类)详解
2021-01-14 22:50:37在Java中,File 类是 java.io 包中唯一代表磁盘文件本身的对象,也就是说,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成。File 类定义了一些方法来操作文件,如新建、删除、重命名文件和目录等。...