[英]Java: Set file permissions to several users
對於我正在編寫的一個小應用程序,有一個file.xml是數據庫。
使用以下命令創建file.xml時:
File xmlDB = new File(newYear + ".xml");
PrintWriter writer = new PrintWriter(newYear+".xml", "UTF-8");
String header = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><economato> </economato>";
writer.println(header);
然后我可以設置權限
xmlDB.setwReadable()
XML.setWritable()
但是我了解到,通過這些原語,我可以為所有人的所有者設置權限。 相反,我如何為2或3個人設置這些權限(給定他們用來登錄服務器的用戶名?)?
對於Linux,我需要知道這一點,但對於Windows,則需要整體了解。 我應該用嗎
Runtime.getRuntime().exec("Windows prompt command");
要做到這一點?
謝謝
您可以將權限添加到組,然后將所需的那些用戶添加到該組
//using PosixFilePermission to set file permissions 777
Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>();
//add owners permission
perms.add(PosixFilePermission.OWNER_READ);
perms.add(PosixFilePermission.OWNER_WRITE);
perms.add(PosixFilePermission.OWNER_EXECUTE);
//add group permissions
perms.add(PosixFilePermission.GROUP_READ);
perms.add(PosixFilePermission.GROUP_WRITE);
perms.add(PosixFilePermission.GROUP_EXECUTE);
//add others permissions
perms.add(PosixFilePermission.OTHERS_READ);
perms.add(PosixFilePermission.OTHERS_WRITE);
perms.add(PosixFilePermission.OTHERS_EXECUTE);
Files.setPosixFilePermissions(Paths.get("/Users/pankaj/run.sh"), perms);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.