Java獲取Web服務器文件


Java獲取Web服務器文件

如果獲取的是服務器上某個目錄下的有關文件,就相對比較容易,可以設定死絕對目錄,但是如果不能設定死絕對目錄,也不確定web服務器的安裝目錄,可以考慮如下兩種方式:

  1. 方法一:先獲取web服務器當前絕對位置,然后拼接相對目錄

考慮到java web項目一般會采用strust2來做,所以可以使用ServletActionContext.getServletContext().getRealPath("")來獲取當前的web服務器絕對路徑。再拼接相對位置即可,總的程序示例如下:

public InputStream getFileStream() throws Exception{
    System.out.println(filename);
    String realPath = ServletActionContext.getServletContext().getRealPath("");
    System.out.println("realPath:"+realPath);
    return new FileInputStream(realPath+filename);
}
  1. 方法二:通過webURL地址才獲取文件

因為不管web服務器安裝在什么位置,其對外顯示的URL地址總是不變的,如http://xx.xx.xx.xx/xx 那么要返回http://xx.xx.xx.xx/xx/xx.doc 文件的話,可以采用如下方式,沒有做過實驗,不過類似於網絡爬蟲中的文件獲取。

URL url = new URL(urlString); 
URLConnection conn = url.openConnection();  
BufferedReader reader = new BufferedReader(new InputStreamReader(conn. 
getInputStream()));  

獲取網絡流后再返回文件流1

Date: 2012-11-25 11:51:59 中國標准時間

Author: csophys

Org version 7.8.11 with Emacs version 24

Validate XHTML 1.0


免責聲明!

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



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