gpt4 book ai didi

java - 跨多个操作系统删除一个文件

转载 作者:太空宇宙 更新时间:2023-11-04 09:50:06 25 4
gpt4 key购买 nike

所以我有一个程序运行如下所示

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

然后从我的 main 我调用

 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 时,文件最终会出现在它们不应该出现的位置。我怎样才能让我的程序处理这个问题?

最佳答案

它看起来像 working directory/etc/cron.d/(可执行路径不同)。

相对路径(使用 java.io.File 时)是相对于工作目录的。如果您希望将文件放在不同的目录中,请使用绝对文件路径:/path/to/stuff.zip(注意前导斜线)。

关于java - 跨多个操作系统删除一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12078294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com