2014-07-21 20 views
0

對於我正在編寫的一個小應用程序,有一個file.xml是數據庫。Java:爲多個用戶設置文件權限

當與創建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"); 

要做那個?

感謝

回答

1

您可以permisions添加到組,然後,你希望這些用戶添加到組

//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); 
+0

非常感謝。那麼在WINDOWS中如何做呢? –

+0

在Windows中,您也有一組用戶。如果你考慮回答記得完成這個職位 – paul