2012-11-05 37 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

相关问题