2012-05-15 50 views
0

我想知道如何在java中的webserver(tomcat 7.0)中創建一個文件夾。如何使用java程序在tomcat webserver中創建文件夾?

IAM最近啓動一個project.In這個項目,我需要將文件從客戶端上傳到服務器machine.In這個每個客戶都有自己的服務器文件夾並將文件上傳到他們。

而在每個用戶文件夾中,我們有兩個以上的jsp文件。當用戶請求服務器通過url顯示其內容(例如:ipaddress:portnumber/userid/index.jsp)時,我想顯示他的文件上傳的數據。

是否有可能。

請指導我解決這個問題。 謝謝。

回答

1

至於你的具體問題,就像在普通的Java應用程序中一樣。

File root = new File("/path/to/all/uploads"); 
File newfolder = new File(root, "/userid"); 
newfolder.mkdir(); 
// ... 

至於你對那些拷貝了所有文件夾的JSP文件的想法,不要那麼做。只需要一個映射到例如/files/*的servlet並讀取特定於當前登錄用戶的文件夾,並最終轉發到JSP以顯示結果。或者,如果您的目的是要真正將上傳內容公開給所有人,以便每個用戶都可以看到彼此的上傳內容,請在請求URL中提供所需的用戶ID作爲參數或路徑信息,例如http://localhost:8080/context/files/userid

請注意,你不應該將文件存儲在擴展WAR文件夾,否則將丟失每次您重新部署web應用程序。將它們存儲在Tomcat的/webapps文件夾之外的固定路徑上。

+0

謝謝你的回答,對我有幫助。我有另一個疑問。假設我有一個主服務器和多個連接到mainserver的子服務器,假設用戶在mainserver中訪問我的應用程序,他想將數據上傳到子服務器。是否有可能從主服務器在子服務器中創建一個新的文件夾。這裏的子服務器的ipaddresses是已知的。 – mani

+0

如果它被映射爲「mainserver」上的網絡驅動器,那麼您可以繼續使用「文件」。如果沒有,那麼你需要諮詢負責的serveradmin如何訪問它的磁盤文件系統。 – BalusC

+0

謝謝你,非常.. .. :) – mani

1

好的,我們走吧。

try { 
    File f = new File("file/path/name/.ext"); 
    if(!f.isDirectory()) { 
    boolean success = (new File(f)).mkdirs(); 
    } 
    if(success) { 
    System.out.println("Success") 
    } 
} catch(Exception e) {} 

就是這樣。我希望在功能上。 Ciao

相關問題