久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

linux下java File.exists() 正常情況下返回值是false 是什么原因,?

 wwq圖書世界 2019-09-17
 本帖最后由 suxuanhua 于 2017-11-22 02:06 編輯




今天打算更新個人的JavaWeb小項目,,項目在 win10 tomcat 中部署能正常運行,。
但是打包成 上傳到 騰訊云 UbuntuServer 16.04,,解壓,,把項目根目錄中的所有文件,放到 tomcat ROOT目錄中,,將 ROOT目錄中原有的文件刪除,。
(說一下放ROOT的原因吧:剛用IDEA的時候沒設置好,導致鏈接跳轉都不包含項目名,,懶得修改,,就直接替換ROOT目錄)
運行tomcat 之后,項目發(fā)生錯誤(如圖),,經過幾個鐘的排查之后,,
發(fā)現 Java 的 exists() 在 linux 下 ,就算通過文件路徑找到了文件,,并獲取了文件名,,返回值還是false。win 則是正常的的true,。

網上查了之后,,看到百科這么一篇文章:https://baike.baidu.com/item/file_exists/357436?fr=aladdin

文章說,file_exists 需要檢測的父級文件夾權限,,不是 777 會返回false ,。
雖然文章中的是php ,應該和 Java 的exists() 相同,。

想問一下這種情況Java 要怎么解決,,是試過將整個項目,、tomcat都chmod 777 了都還是不行。


貼代碼://通過這種方式,,在static 方法內獲得項目的classes 目錄,,讓后通過Properties 加載 .properties 配置文件,。


            String path = new Object() {
                public String getPath() {
                    //加"/"表示當前項目根目錄,,不加表示當前運行類的目錄
                    return this.getClass().getResource(PropertiesfilePath).getPath();

                }
            }.getPath().substring(1);


            //顯示獲得的地址。
            System.out.println ("Stitic method new Object 獲得的地址:"+path);//正常獲取

            file = new File (path+"BOLOMI.properties");
            System.out.println ("文件名是:"+file.getName ());//正常獲取

            //返回值是false
            boolean b = file.exists ();////////////////////////有BUG,linux判斷錯誤,,該方法返回值有問題,。可能原因:如果文件夾權限不是777返回的都是false

            System.out.println("exists 返回值是:"+b);

            if (b){  //判斷不通過


大神?。,。。,?!快就火呀。,。,。。,。,。


    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現有害或侵權內容,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多