我遇到了麻烦,试图在我的servlet应用程序中创建一个目录以保存音频文件。当我尝试在根目录中创建它时:(c:/sovings)我没有麻烦,但是当我尝试在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>");
}
感谢您的帮助伙伴!祝你今天过得愉快!!;)
我得到了它:
`
public static String WEBAPP_ROOT;
/**
* Initialize the servlet and set up some static variables :<br>
*/
public void init() {
WEBAPP_ROOT = getServletContext().getRealPath("/");
}`
然后你
尝试一下。取上应用程序root,然后加入目标位置。还可以尝试使用mkdirs()而不是mkdir()。如果不存在,它将创建父目录
File parent_dirs = new File(applicationRoot + destinationLoc);
if(!parent_dirs.exists()){
parent_dirs.mkdirs();
}