在java中如何在运行时隐藏文件

在java中如何在运行时隐藏文件,java,file,Java,File,我有一个Java程序,我在其中创建一个名为hd\u details的文件,并存储运行该程序的机器的硬件详细信息和安装计数。安装计数限制exe仅运行2次。我通过Launch4j将该程序转换为一个exe。当我运行exe时,文件hd\u details被提取出来。我需要隐藏文件。有什么建议吗?在windows上,您可以尝试以下方法: Runtime.getRuntime().exec("attrib +H hd_details"); 如果你想让一个文件既存在又“被隐藏”,你就是想让计算机的文件系统做

我有一个Java程序,我在其中创建一个名为
hd\u details
的文件,并存储运行该程序的机器的硬件详细信息和安装计数。安装计数限制exe仅运行2次。我通过Launch4j将该程序转换为一个
exe
。当我运行exe时,文件
hd\u details
被提取出来。我需要隐藏文件。有什么建议吗?

在windows上,您可以尝试以下方法:

Runtime.getRuntime().exec("attrib +H hd_details");

如果你想让一个文件既存在又“被隐藏”,你就是想让计算机的文件系统做点什么。这使您脱离了Java本身的领域,陷入了与系统相关的问题。您提到了“一个
exe
”,所以我想您需要这个来只在Windows上工作?还是你呢


在POSIX系统上,文件可以是匿名的(因此是不可见的),但可以通过在保持打开状态的同时删除指向它的所有硬链接而存在。我不相信POSIX中真正不可见的关闭文件是可能的。
ls
命令通常不会列出名称以点开头的文件(例如
.ssh
),它用于隐藏配置文件和状态文件,使其无法正常使用,但查看它们只需键入
ls-a

即可,为什么不从java中查找带有
任务列表的exe
(win命令)(
Runtime.getRuntime().exec
)如果程序已经在运行,就退出它?可能是重复的