gpt4 book ai didi

java - JNA 用字符串代替 int 进行 chown?

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

嗨,我需要通过 JAVA 更改某些文件的用户/组。我在任何地方都见过大致相同的 Posix 示例。

  public interface POSIX extends Library {
public int chmod(String filename, int mode);
public int chown(String filename, int userId, int groupId);
}

这样做的问题是你必须知道 PID 和 GID,但要做到这一点,你必须通过运行时来获取它们,所以我并没有真正看到 chown 方法的使用。我试过这个

  public interface POSIX extends Library {
public int chmod(String filename, int mode);
public int chown(String filename, int userId, int groupId);
public int chown(String filename, String user, String group);
}

但是在传递用户和组的字符串参数后, ls -l 显示文件的 806789808 806789776 dor 用户/组。那么有没有办法将用户和组作为字符串传递?

最佳答案

将它们作为字符串传递的最简单方法是

Runtime.exec(new String[] { "chown", user, filename });

chown 的作用是在进行系统调用之前查找 id 的名称。

关于java - JNA 用字符串代替 int 进行 chown?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19734837/

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