相关疑难解决方法(0)

如何以编程方式确定Java中的操作系统?

我想确定我的Java程序以编程方式运行的主机的操作系统(例如:我希望能够根据我是在Windows还是Unix平台上加载不同的属性).100%可靠性最安全的方法是什么?

java operating-system

495
推荐指数
16
解决办法
34万
查看次数

PosixFilePermission 在 java 中导致 UnsupportedOperationException

我在 windows 和 unix 系统中部署了一个 java 代码。我必须添加文件权限才能将文件移动到特定目录(在 unix 中)。我为此使用PosixFilePermission 。

                file1 = new File( expFilePath+ "/" + creationDate);
                file1.mkdir();
                Set<PosixFilePermission> perms = new HashSet<>();
                perms.add(PosixFilePermission.OWNER_READ);
                perms.add(PosixFilePermission.OWNER_WRITE);
                perms.add(PosixFilePermission.OWNER_EXECUTE);
                perms.add(PosixFilePermission.OTHERS_READ);
                perms.add(PosixFilePermission.OTHERS_WRITE);
                perms.add(PosixFilePermission.OTHERS_EXECUTE);
                perms.add(PosixFilePermission.GROUP_READ);
                perms.add(PosixFilePermission.GROUP_WRITE);
                perms.add(PosixFilePermission.GROUP_EXECUTE);
                try {
                    Files.setPosixFilePermissions(file1.toPath(), perms);
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
Run Code Online (Sandbox Code Playgroud)

上面的代码在unix中运行正确,但在windows m/c中导致UnsupportedOperationException,我必须在windows m/c中运行代码时手动注释这段代码。

有什么方法可以检测java中的底层操作系统类型并有条件地执行这段代码吗?

java unix posix

4
推荐指数
1
解决办法
2992
查看次数

标签 统计

java ×2

operating-system ×1

posix ×1

unix ×1