java io File not found 找不到系统指定的文件,工程目录下有此文件源码如下

问题描述

java io File not found 找不到系统指定的文件,工程目录下有此文件源码如下

PrintWriter out = response.getWriter();
response.setContentType("text/html");
// 图片上传路径
String uploadPath = request.getSession().getServletContext().getRealPath("/") + "upload/images/";
System.out.println("uploadPath=" + uploadPath);
// 图片临时上传路径
String tempPath = request.getSession().getServletContext().getRealPath("/") + "upload/images/temp/";
System.out.println("tempPath=" + tempPath);
// 图片网络相对路径
String imagePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/";
System.out.println("imagePath=" + imagePath);
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(4194304);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096);
// 设置临时目录:
fu.setRepositoryPath(tempPath);
// 得到所有的文件:
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while (i.hasNext()) {
FileItem file = (FileItem) i.next();
// 获得文件名,这个文件名是用户上传时用户的绝对路径:
String sourcefileName = file.getName();
if (sourcefileName != null && (sourcefileName.endsWith(".jpg") || sourcefileName.endsWith(".gif"))) {
// 在这里可以记录用户和文件信息,生成上传后的文件名
String destinationfileName = null;
Random rd = new Random();
Calendar time = Calendar.getInstance();
if (sourcefileName.endsWith(".jpg")) {
destinationfileName = String.valueOf(time.get(Calendar.YEAR)) + String.valueOf(time.get(Calendar.MONTH)) + String.valueOf(time.get(Calendar.DAY_OF_MONTH)) + String.valueOf(time.get(Calendar.HOUR_OF_DAY)) + String.valueOf(time.get(Calendar.MINUTE)) + String.valueOf(time.get(Calendar.SECOND)) + String.valueOf(rd.nextInt(100)) + ".jpg";
} else if (sourcefileName.endsWith(".gif")) {
destinationfileName = String.valueOf(time.get(Calendar.YEAR)) + String.valueOf(time.get(Calendar.MONTH)) + String.valueOf(time.get(Calendar.DAY_OF_MONTH)) + String.valueOf(time.get(Calendar.HOUR_OF_DAY)) + String.valueOf(time.get(Calendar.MINUTE)) + String.valueOf(time.get(Calendar.SECOND)) + String.valueOf(rd.nextInt(100)) + ".gif";
}
PhotoBean pb = new PhotoBean();
PhotoDao pd = new PhotoDao();
File Photopath1 = new File(uploadPath + destinationfileName);
pb.setPhotopath(TpUtil.getBytes(Photopath1));
int result = pd.addPhoto(pb);
file.write(Photopath1);
if (result < 0) {
out.print(sourcefileName + "成功上传!");
// out.print("");

                } else {
                    out.println("上传文件出错,只能上传 *.jpg , *.gif");
                }
                // 跳转到上传成功提示页面
            }
        }
    } catch (Exception e) {
        // 可以跳转出错页面
    }
    out.flush();
    // out.close();

----------------------异常如下-----------------------------------
uploadPath=E:TomcatwebappsUpLoadTestupload/images/
tempPath=E:TomcatwebappsUpLoadTestupload/images/temp/
imagePath=http://localhost:80/UpLoadTest/
java.io.FileNotFoundException: E:TomcatwebappsUpLoadTestuploadimages201402413141853.jpg (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:106)
at com.nycgsweb.db.TpUtil.getBytes(TpUtil.java:50)
at com.nycgsweb.servlet.UploadServlet.doPost(UploadServlet.java:122)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
INSERT INTO Photo(phtot) VALUES (?)

时间: 2024-09-19 09:11:20

java io File not found 找不到系统指定的文件,工程目录下有此文件源码如下的相关文章

Java IO: File

原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) Java IO API中的FIle类可以让你访问底层文件系统,通过File类,你可以做到以下几点: 检测文件是否存在 读取文件长度 重命名或移动文件 删除文件 检测某个路径是文件还是目录 读取目录中的文件列表 请注意:File只能访问文件以及文件系统的元数据.如果你想读写文件内容,需要使用FileInputStream.FileOutputStream或者RandomAccessFile.

【java IO File】统计项目代码总共多少行

统计项目代码总共有多少行 思想: 1.首先将不需要迭代的文件夹,保存在集合中,不满足的就是需要迭代的文件夹 2.将需要进行统计行数的代码文件保存在集合中,满足的就是需要计算文件行数的文件 3.迭代方法:是文件夹,则进入文件夹子层,将满足条件的文件与文件夹保存在数组中 是文件,则计算+=行数   代码如下: 1 package com.sxd.test.util; 2 3 import java.io.File; 4 import java.io.FilenameFilter; 5 import

java删除指定目录下所有空文件夹的方法_java

本文实例讲述了java删除指定目录下所有空文件夹的方法.分享给大家供大家参考,具体如下: package com.func; import java.io.File; import java.util.ArrayList; import java.util.List; /** * 删除指定目录下的所有空文件夹 * * @author zdw * */ public class FileUtils { List<File> list = new ArrayList<File>();

java获得一个目录下的所有文件,和固定后缀的文件

import java.io.File; import java.io.FilenameFilter; public class FileSelect implements FilenameFilter{ static String extension = ".";public FileSelect(String fileExtensionNoDot){ extension += fileExtensionNoDot;}public static void main(String[]

java 获取指定目录下的所有文件

Java ,如何获取指定目录下的所有文件呢? 看代码: Java代码   /***       * 获取指定目录下的所有的文件(不包括文件夹),采用了递归       *        * @param obj       * @return       */       public static ArrayList<File> getListFiles(Object obj) {           File directory = null;           if (obj inst

java.io.File中的绝对路径和相对路径.

按照jdk Doc上的说法"绝对路径名是完整的路径名,不需要任何其他信息就可以定位自身表示的文件.相反,相对路径名必须使用来自其他路径名的信息进行解释.默认情况下,java.io 包中的类总是根据当前用户目录来分析相对路径名.此目录由系统属性 "user.dir" 指定,通常是 Java 虚拟机的调用目录." 相对路径顾名思义,相对于某个路径,那么究竟相对于什么路径我们必须弄明白.按照上面jdk文档上讲的这个路径是"当前用户目录"也就是"

java 用递归获取一个目录下的所有文件路径的小例子_java

复制代码 代码如下: private List<String> ergodic(File file,List<String> resultFileName){        File[] files = file.listFiles();        if(files==null)return resultFileName;// 判断目录下是不是空的        for (File f : files) {            if(f.isDirectory()){// 判

图解 Java IO : 一、File源码

Writer      :李强强 记得Java源码是从集合类开始看的,写了一系列集合相关的文章,受到不错的评价.感谢各位读者.我依旧会读到老写到老,并生动形象的写出来心得体会.这次依旧是图解Java IO. Java IO – File的要点,应该是 1.跨平台问题的解决 2.文件的安全 3.文件的检索方法 一.代码小引入 代请看一个简单的小demo:(ps:开源项目java-core-learning地址:https://github.com/JeffLi1993) import java.i

Java IO流学习总结二:File

转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/54581478 本文出自[赵彦军的博客] Java File类的功能非常强大,利用java基本上可以对文件进行所有操作. 首先来看File类的构造函数的源码 /** * Internal constructor for already-normalized pathname strings. */ private File(String pathname, int prefixLe