본문 바로가기
Web Programing!/JAVA / JSP

[JSP] 파일경로, 디렉토리, 파일명 추출하기

by 어설픈봉봉이 2011. 9. 21.
반응형
SMALL





<%@page contentType="text/html; charset=EUC-KR" %>
<%@ page import="java.util.*"  %>

<%
    String curPath;
    curPath = request.getRequestURI();        // :: /00_shkim/b.jsp

    out.print("<br>요청 경로 =" + curPath);

    int iTmpWhere;
    iTmpWhere = curPath.indexOf("/");
    out.print("<br>위치 =" + iTmpWhere);

    StringTokenizer str99 = new StringTokenizer(curPath, "/");
         //out.print("<br> 첫번째 토큰 : " + str99.nextToken() );
         //out.print("<br> 첫번째 토큰 : " + str99.nextToken(1) );  //err
         //out.print( str99.length() );    //err
    int k = 0;  int jjuux = 0;
    String str_sep;  

    String[]  a_tmpStrPath;    //배열
    a_tmpStrPath = new String[3];    //크기를 정해야 한다!!

    while ( str99.hasMoreTokens() ){
        k = jjuux + 1;
        str_sep = str99.nextToken();
        out.print("<br>" + k + "번째 토큰  : [" + jjuux+ "]   " +  str_sep );

        a_tmpStrPath[jjuux] = str_sep;

        jjuux++;
    }
           //out.print("<p>" + a_tmpStrPath[0]);
    out.print("<p>jjuux = " + jjuux);

    String cur_DirName = "";
    if( k == 2  ){  // /00_shkim/b.jsp
        cur_DirName = a_tmpStrPath[0];    //첫번째 것이...
    }
    if( !  cur_DirName.equals("")   ){    //cur_DirName 이 있다면..  ""와 같지 않다면...
        out.print("<p>cur_DirName=" + cur_DirName );
    }


    String cur_FileNameFull = "";
    if( jjuux > 0){
        cur_FileNameFull = a_tmpStrPath[jjuux-1];    //맨 마지막 것이.... 파일임..
    }
    if(  ! cur_FileNameFull.equals("")   ){    //cur_FileNameFull 이 있다면...  ""와 같지 않다면...
        out.print("<p>cur_FileNameFull=" + cur_FileNameFull );

       //파일명에서, 확장자를 제거한, 순수 파일명만 추출하기...

        int i_ext;
        i_ext = cur_FileNameFull.lastIndexOf(".");    //문자열 뒤쪽에서 . 위치 찾기
        //out.print("<br>i_ext= " + i_ext) ;

        String cur_FileName_ONLY = "";
        cur_FileName_ONLY = cur_FileNameFull.substring(0, i_ext);   
                                 //확장자를 제거한, 순수한 파일명.
        out.print("<br>cur_FileName_ONLY= " + cur_FileName_ONLY) ;

        String cur_FileName_EXT = "";
        cur_FileName_EXT = cur_FileNameFull.substring(i_ext, cur_FileNameFull.length() );
        out.print("<br>cur_FileName_EXT=" +  cur_FileName_EXT);
   }

%>


        /**** //결과
            cur_FileNameFull=b.c.jsp
            cur_FileName_ONLY= b.c
            cur_FileName_EXT=.jsp
        *****/


결과 :::

요청 경로 =/00_shkim/b.c.jsp
위치 =0
1번째 토큰 : [0] 00_shkim
2번째 토큰 : [1] b.c.jsp
jjuux = 2

cur_DirName=00_shkim

cur_FileNameFull=b.c.jsp
cur_FileName_ONLY= b.c
cur_FileName_EXT=.jsp

반응형