所以我有一个运行类似于以下内容的程序
public class SHandler extends Handler {
File lmpFile;
在程序的后面:
lmpFile = new File("Stuff.zip"); // This should create a file called "stuff.zip" in the present directory
OutputStream fos = new FileOutputStream(lmpFile); // Fill the file with whatever
然后从我的主要我打电话
S.SHandler SpecialSH = new S.SHandler(args);
//use the object for whatever
SpecialSH.delFile();
Delfile 是这样制作的,是类内部的一个方法:
public void delFile() {
lmpFile.deleteOnExit();
lmpXMLFile.deleteOnExit();
}
据我所知,这个程序可以在我的本地机器(Windows 7 Enterprise)上运行,但是在我们的开发机器上,当我运行它时,它会扔掉很多文件,程序会把这些文件拉到所有地方。执行路径是 /usr/data/dev/Handler ,它把“stuff.zip”(以及从中提取的文件)放在 /etc/cron.d 中,尽管试图删除它们,但我无法删除它们。
注意该程序是通过 bash 脚本调用的,该脚本由运行 RHEL6 的机器上的 cron 作业调用。任何能够帮助这件事的人都会得到我永恒的爱和感激。
编辑: bash 脚本很简单:
export JAVA_HOME=/usr/data/java/current
export PATH=$JAVA_HOME/bin:$PATH
/usr/data/java/current/bin/java -jar /usr/data/dev/Handler/Handler.jar
Tl;DR:文件在 Windows 上运行良好,当 RHEL6 调用 cron 时,文件最终会出现在不应该出现的地方。我怎样才能让我的程序处理这个?