2012-11-05 39 views
0

我遇到了麻煩,試圖在我的servlet應用程序內創建一個用於保存音頻文件的目錄。當我嘗試在根目錄中創建它時:(C:/ something)我沒有任何問題,但是當我嘗試在tomcat路徑中執行它時,我不能。有人知道爲什麼嗎? 這是我的代碼(我必須通過帖子傳遞目標路徑,但我首先嚐試使用前一個路徑)。如何使用Java在TOMCAT中創建一個目錄?

public void doPost(HttpServletRequest request, 
        HttpServletResponse response) throws ServletException, IOException 
{ 
    PrintWriter out = response.getWriter(); 
    out.println("<HTML><HEAD></HEAD><BODY>"); 
    //nombreFichero = request.getParameter("nombreArchivo"); 
    //Ruta = request.getParameter("Destino"); 
    String destino = request.getParameter("Destino"); 
    String ruta2 = request.getContextPath(); 
    ruta2 += "/InformesAudio/"; 
    out.println("<P>Ruta para guardar: <B>" + destino + "</B></P>"); 
    out.println("<P>Ruta armada: <B>" + ruta2 + "</B></P>"); 

    File crearCarpeta = new File(destino); 
    if(!crearCarpeta.exists()) 
    { 
     crearCarpeta.mkdir(); 
     out.println("<P>La ruta de getContextPath modificada es: </P><P>" + destino + "</P>" 
        + "<P>CARPETA CREADA EXITOSAMENTE</P>"); 
    } 

感謝您的幫助哥們!祝你今天愉快!! ;)

+0

請告訴我異常明白嗎? –

+0

@JordiLaforge是不是不例外製作目錄:( – Carol

+1

我隱約記得,tomcat(用於安全)限制了webapp目錄中/下的某些文件系統操作......可以/只要將文件存儲移出那裏,就可以說C:\ InformesAudio \? – corlettk

回答

0

嘗試此操作。以應用程序根目錄然後concatnate目標位置。也可以嘗試使用mkdirs()而不是mkdir()。這將創建父目錄,如果不存在

File parent_dirs = new File(applicationRoot + destinationLoc); 
if(!parent_dirs.exists()){ 
    parent_dirs.mkdirs(); 
} 
+0

它沒有工作:(我已經嘗試過(有「\\」和「/」)但我不能。 DIR = request.getContextPath(); 文件TargetRoot =新的文件(目錄+ 「\\ \\ InformesAudio」);如果 { TargetRoot.mkdir()(TargetRoot.exists()!);通過out.println ( 「

拉德芸香getContextPath修訂於ES:

」 + TargetRoot.getPath()+ 「

」 + 「

CARPETA由... EXITOSAMENTE

」 + 「

埃爾路徑Absoluto ES:」 + TargetRoot.getAbsolu tePath()+「

」); }' – Carol

1

我懂了:

`

public static String WEBAPP_ROOT; 
    /** 
    *  Initialize the servlet and set up some static variables :<br> 
    */ 
    public void init() { 
      WEBAPP_ROOT = getServletContext().getRealPath("/"); 
    }` 

然後你

+1

那麼你呢?但是我很高興你找到了它......並且實際上創建目錄樹沒有問題,是嗎?所以你很好去;-) – corlettk

+0

謝謝@corlettk;) – Carol

相關問題