java之向linux文件夾下寫文件無權限的問題
java向linux文件夾下寫文件無權限
我們把服務器部署到linux服務器上時,有時會出現(xiàn)沒有寫文件權限問題,出現(xiàn)這個問題原因是,這個目錄對代碼來說只有讀的權限,沒有寫文件權限,下面我們解決一下這個問題
登上linux,在home文件夾下新建目錄erplog,具體操作如下,第一行新建erplog文件夾,第二句話意思是給erplog文件夾賦權限,777是最高權限
[root@zhylapp home]# mkdir erplog [root@zhylapp home]# chmod -R 777 erplog/
執(zhí)行代碼,發(fā)現(xiàn)寫入文件成功
寫文件具體代碼如下
package com.qlyl.erp.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; import java.io.FileWriter; import java.io.IOException; public class FileUpload { private static final Logger log = LoggerFactory.getLogger(FileUpload.class); private static final String mark = System.getProperty("line.separator"); /** * 寫日志 * @param str * @param path */ public static void writeLocalStrOne(String str, String path){ try { File file = new File(path); file.setWritable(true, false); if (!file.getParentFile().exists()) { file.getParentFile().mkdirs(); } file.createNewFile(); if(str != null && !"".equals(str)){ // true在內容后面繼續(xù)添加 FileWriter fw = new FileWriter(file, true); fw.write(str + mark);//寫入本地文件中 fw.flush(); fw.close(); log.info("向目錄[{}]寫入文件成功!", path); } } catch (IOException e) { e.printStackTrace(); } } }
java中修改linux文件夾和文件的權限
/** * 修改linux圖片權限 * @param filePath * @throws IllegalStateException * @throws IOException */ public static void storeFile(String filePath) throws IllegalStateException, IOException { File file = new File(filePath); //設置權限 Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>(); perms.add(PosixFilePermission.OWNER_READ);//設置所有者的讀取權限 perms.add(PosixFilePermission.OWNER_WRITE);//設置所有者的寫權限 perms.add(PosixFilePermission.OWNER_EXECUTE);//設置所有者的執(zhí)行權限 perms.add(PosixFilePermission.GROUP_READ);//設置組的讀取權限 perms.add(PosixFilePermission.GROUP_EXECUTE);//設置組的讀取權限 perms.add(PosixFilePermission.OTHERS_READ);//設置其他的讀取權限 perms.add(PosixFilePermission.OTHERS_EXECUTE);//設置其他的讀取權限 try { //設置文件和文件夾的權限 Path pathParent = Paths.get(file.getParentFile().getAbsolutePath()); Path pathDest = Paths.get(file.getAbsolutePath()); Files.setPosixFilePermissions(pathParent, perms);//修改文件夾路徑的權限 Files.setPosixFilePermissions(pathDest, perms);//修改圖片文件的權限 } catch (Exception e) { e.printStackTrace(); } }
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Spring中使用JSR303請求約束判空的實現(xiàn)
這篇文章主要介紹了Spring中使用JSR303請求約束判空的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12Spring boot實現(xiàn)一個簡單的ioc(2)
這篇文章主要為大家詳細介紹了Spring boot實現(xiàn)一個簡單ioc的第二篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04Mybatis關聯(lián)查詢之一對多和多對一XML配置詳解
這篇文章主要介紹了Mybatis關聯(lián)查詢之一對多和多對一XML配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10Spring Cloud動態(tài)配置刷新@RefreshScope與@Component的深度解析
在現(xiàn)代微服務架構中,動態(tài)配置管理是一個關鍵需求,Spring Cloud 提供了 @RefreshScope 注解,允許應用在運行時動態(tài)更新配置,而無需重啟服務,本文深入探析Spring Cloud動態(tài)配置刷新@RefreshScope與@Component,感興趣的朋友一起看看吧2025-04-04