0

オーディオ ファイルを保存するために、サーブレット アプリケーション内にディレクトリを作成しようとすると問題が発生します。ルート ディレクトリ (C:/something) に作成しようとすると問題はありませんが、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>");
    }

助けてくれてありがとう!良い1日を!!;)

4

2 に答える 2

1

わかった:

`

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

次にあなた

于 2012-11-05T17:17:24.507 に答える
0

これを試してください..アプリケーションのルートを取得し、宛先の場所を連結します。また、mkdir() の代わりに mkdirs() を使用してみてください。存在しない場合は、親ディレクトリを作成します

File parent_dirs = new File(applicationRoot + destinationLoc);
if(!parent_dirs.exists()){
  parent_dirs.mkdirs();
}
于 2012-11-05T13:58:49.853 に答える