使用Java 1.5检查执行权限

时间:2012-02-13 16:58:40

标签: java

我正在寻找一种方法来检查文件是否可以用Java 1.5执行。

我找到了SecurityManager.checkExec,但我认为这没有帮助...

我目前在Linux上,但这也需要适用于Windows。

任何帮助将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:0)

SecurityManager.checkExec实际检查其他内容,它检查您的JVM是否具有足够的权限来启动可执行文件。

您希望java.nio.file.Files.isExecutable(...)查看该文件是否被视为“可执行”。

仅在Java 1.7中可用。对于1.5及更高版本,您通常会构造一个ProcessBuilder类,并在执行文件失败时捕获异常。对于1.5之前的版本,您将使用Runtime.exec(...)并捕获异常以确定该文件不可执行。

答案 1 :(得分:0)

我有类似的问题。

如果你不介意做很多工作,你可以尝试阅读可执行文件的“神奇数字”。这些是存储在文件开头的值,可以告诉您它是什么类型的文件。

查看http://www.garykessler.net/library/magic.html,其中列出了各种文件格式的“神奇数字”,包括可执行文件。

如果您只需要在两个平台上进行操作,那应该不会那么难。

如果有人能告诉我为什么这是一个非常糟糕的主意,我会感兴趣。