今天在寫一個關於配置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