我的网站把图片上传到服务器后,数据库里只留了图片的地址,显示图片就从数据库中读出相应图片的地址。
那么怎么做删除图片呢?我写的删除方法只是把数据库里的图片记录删除了,可是图片还是在服务器中啊。
请问在java里该如何物理删除服务器上的图片呢?系统:Windows, 服务器容器:Tomcat, 框架:Struts2+Hibernate3+Spring跪求大侠指点!

解决方案 »

  1.   

    <%@ page import="java.io.*"%> String path=request.getRealPath("");   //路径
    System.out.println(path);
    File f=new File(path,"File.txt");if(f.exists()){//检查File.txt是否存在
    f.delete();//删除File.txt文件
    out.println(path + "\\File.txt 存在,已删除。");
    }else{
    f.createNewFile();//在当前目录下建立一个名为File.txt的文件
    out.println(path + "\\File.txt 不存在,已建立。");//输出目前所在的目录路径
    }
    其实你应该去java版问的
      

  2.   

    好奇怪啊,总是看到有人来PHP板块问JAVA 的事情。
      

  3.   

    我是这么写的:
    File file=new File(path,imgFileName);
    if(file.exists()){
    System.out.println("读取的File对象为:"+file.getName());
    file.delete();
    System.out.println("文件已删除");
    }else{
    System.out.println("文件不存在!");
    }为什么我昨天上传的文件今天就可以用这种方法删除,可是今天刚刚上传的文件就删不掉??真是奇怪了,难道说非要重启一次才能删掉上次上传的文件??不解,请高手解答!谢谢
      

  4.   

    上传文件的代码我是这样写的:
    //以服务器的文件保存地址和原文件名建立上传文件输出流
    FileOutputStream fos = new FileOutputStream("/"+getSavePath()+"\\"+getUploadImgFileName());
    FileInputStream fis=new FileInputStream(getUploadImg());
    byte[] buffer=new byte[1024];
    int len=0;
    while((len=fis.read(buffer))>0){
    fos.write(buffer, 0, len);
    }
      

  5.   

    诚征程序开发
    合作现在郑州筹划运营一公司,其中需要建立一个网络交流互动平台,虽然在市场上有多年的工作经验,但是网站开发技术欠缺,希望有熟悉网络建设技术的伙伴共事,构筑网络平台征程序设计、网站设计  若干名有大型网站设计思想或经验,有意着请QQ837678875  EMAIL:[email protected] 
      

  6.   

    谢谢liujun5515008
    我把fis和fos关闭就没问题了 :)