为什么我的文件没有被 Runtime Attrib +H 隐藏 (java)

Why my file doesnt become hidden with Runtime Attrib +H (java)

我有一个刚刚创建的文件 'f',我想将其隐藏,所以我使用以下代码:

Runtime.getRuntime().exec("attrib +H "+f.getCanonicalPath());

但它并非在所有情况下都有效,它似乎只适用于 'Desktop' 文件夹、'Documents' 文件夹等著名文件夹.. 但在 'Desktop/randomFolder' 等随机文件夹上它不起作用文件隐藏。

有人知道为什么以及我该如何解决这个问题? 该应用程序适用于 Windows。 抱歉英语不好。

我通过执行以下操作找到了解决问题的方法:

String a[] = {"attrib","+H",f.getCanonicalPath()};
Runtime.getRuntime().exec(a);

我想将命令的所有部分分隔成一个字符串数组'a'。 然后,我在 'exec()' 函数上使用它。

再次抱歉英语不好。