在新建FileInputStream時使用當前相對路徑或者絕對路徑作為參數的問題


  今天在寫一個關於配置Excel導出路徑通過properties文件配置的需求,通過查詢我得知  properties文件通過 FileInputStream 讀取

     

   這是原先的代碼,在上面的路徑中,經過反復試驗始終報路徑未找到錯誤。

  

  然后我通過  http://blog.csdn.net/jiadebin890724/article/details/7404554  這篇文章的啟發查看了一下我的當前目錄路徑

  

  控制台輸出如下路徑

  

  結果是tomcat的bin目錄,而並不是tomcat里所部屬的webservice目錄,遂修改如下:

  

 

 

  

  更新2016/4/25:

    以上路徑在linex系統中會識別不出,這個問題是項目部署時發現的,跟新方式是使用java.io.File.separator在“/”或“\\”處替換。

  

 1 public UpLoadFileTask(){
 2         try {
 3             this.prop = new Properties();
 4             FileInputStream fis = new FileInputStream(".."+File.separator+"webapps"+File.separator+"dm"+File.separator+"WEB-INF"+File.separator+"classes"+File.separator+"upFile.properties");
 5             this.prop.load(fis);
 6         } catch (Exception e) {
 7             System.out.println("讀取屬性文件失敗");
 8             e.printStackTrace();
 9         }
10     }

 

  所以說,當作為webservice部署到tomcat里時,若想使用當前目錄,最好先使用System.out.println(new File(".").getAbsolutePath());查看一下當前目錄是什么,因為他不一定是你的.class文件存放的目錄,通常是

  tomcat的bin目錄,所以需要根據這個目錄重新指定你想要到達的目錄。

  在此感謝        http://blog.csdn.net/jiadebin890724/article/details/7404554        GeekFans

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM