91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java文件、文件夾權限如何修改

發布時間:2021-10-19 15:27:21 來源:億速云 閱讀:151 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“Java文件、文件夾權限如何修改”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Java文件、文件夾權限如何修改”這篇文章吧。

使用File類

這個方式是以前最常見的方式,但是這個方式有點缺點在LINUX或者UNIX系統下,需要顯示的指定權限為440,770等就顯得不是那么好用了。

File dirFile = new File(dirPath);dirFile.setReadable(true, false);dirFile.setExecutable(true, false);dirFile.setWritable(true, false);

因此我們通常會采用一些workaround的方式修改文件夾權限,必須我需要在LINUX上設置權限為770

Runtime runtime = getRuntime();String command = "chmod 770 " + dirPath;try {  Process process = runtime.exec(command);  process.waitFor();  int existValue = process.exitValue();  if(existValue != 0){    logger.log(Level.SEVERE, "Change file permission failed.");    }   } catch (Exception e) {    logger.log(Level.SEVERE, "Command execute failed.", e);   }

這種方式會有一個問題,當dirPath中包含空格或者分號的時候,不僅僅對功能有影響,對安全也是有隱患的。

情況1: dirPath = /home/a aa.txt

在LINUX系統中執行的命令是 chmod 770 /home/a aa.txt , 系統會認為修改/home/a 和aa.txt 的文件權限為770,修改文件權限失敗

情況2: 當dirPath = /home/aaa.txt;rm test.txt

這時在LINUX系統中會執行2條指令:

chmod 770 /home/omc/aaa.txtrm test.txt

這時就會出現安全隱患。

NIO方式

private void changeFolderPermission(File dirFile) throws IOException {  Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>();  perms.add(PosixFilePermission.OWNER_READ);  perms.add(PosixFilePermission.OWNER_WRITE);  perms.add(PosixFilePermission.OWNER_EXECUTE);  perms.add(PosixFilePermission.GROUP_READ);  perms.add(PosixFilePermission.GROUP_WRITE);  perms.add(PosixFilePermission.GROUP_EXECUTE);  try {    Path path = Paths.get(dirFile.getAbsolutePath());    Files.setPosixFilePermissions(path, perms);  } catch (Exception e) {    logger.log(Level.SEVERE, "Change folder " + dirFile.getAbsolutePath() + " permission failed.", e);    }  }

從API 查詢知道,NIO的這種方式原生支持LINUX和UNIX低層系統,但測試發現在Windows系統下面不區分文件所有者和其它似乎沒有效果,這個和實用File是一致的。從底層代碼發現,還是使用的File類

另外可能會拋出UnsupportedOperationException IOException SecurityException

以上是“Java文件、文件夾權限如何修改”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荔波县| 扶沟县| 连州市| 巴林右旗| 喀喇沁旗| 罗平县| 西充县| 南陵县| 蒙阴县| 承德市| 甘洛县| 海伦市| 日喀则市| 东台市| 韩城市| 宁晋县| 九龙县| 左权县| 河南省| 延津县| 乐昌市| 辰溪县| 旬邑县| 林州市| 杭州市| 葫芦岛市| 洛宁县| 嵊州市| 卢龙县| 虹口区| 静安区| 宁蒗| 麟游县| 南汇区| 崇信县| 望江县| 门源| 阿瓦提县| 普定县| 嫩江县| 孟津县|