我的环境是JBuilder+Tomcat。其实是我在上传文件后(保存到了某个目录),但同时在Tomcat目录也会生成一个(例如:3614dbcbe8b5750a36be2821544e49afzhangy.txt)相同内容的文件。现在我在删除这个文件的时候,死活都删不掉。部分源码如下:
    File upFile = getUpLoadFile("UploadFile");    //写输入文件
    byte fileByte[] = new byte[Integer.parseInt(Long.toString(upFile.length()))];
    try {        FileInputStream ddd = new FileInputStream(upFile);        ddd.read(fileByte);
        ddd.close();        FileOutputStream outf = new FileOutputStream(new File(outFilename));
        outf.write(fileByte);
        outf.close();
    upFile.delete();

解决方案 »

  1.   

    upFile.delete是放到最后了的。
    并且我用canWrite()测试是可写的状态。
      

  2.   

    是否和Tomcat有关啊?这样的临时文件可以在这个时候删除吗?
      

  3.   

    怎么才算真正把文件关闭了啊?
    我上面的outf.close();不是?
      

  4.   

    在你调用的流也要关了只有全部关掉才能upFile.delete
      

  5.   

    能说得具体点吗?我好像都close了得啊
      

  6.   

    先实例化一个FilePermission类的实例,要用这个授权一下,再删除,实例的API看文档,很简单
      

  7.   

    是不是还有别的代码也访问了upFile?