[오류일지]PatternSyntaxException 오류 해결
문제상황
파일 다운로드 클릭시 아래와 같은 콘솔에러가 발생했다.
1 | java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 |
해결순서
파일을 업로드한 위치에 파일이 있는지 확인하기
나는 아래의 파일에 다운로드 할 파일 원본이 있는지 확인해본다.
1 | D:\\workspace\\프로젝트명\\webapp\\upload |
FileController.java로 가서 해당 Mapping부분을 확인하기
아래처럼 Mapping 부분을 체크해본다
1 | (value = "/downloadn", method = RequestMethod.GET) |
이스케이프 문자 사용하기
문자열을 다루는 메서드를 사용할 때는 \를 주의해야한다.
split이나 replace메서드의 인자로 들어가는 String 토큰이 regex 정규식이기 때문에 이스케이프 문자를 사용해야한다.
\이라면\\로 사용해야한다.
자세한 내용은 여기 split 메서드 사용시 실수하기 쉬운 것를 참고하자.
1 | //수정전 |
파일 경로 자체의 문제
위 방법으로 해결안된다면 파일 경로 자체의 문제일 수 있다.local.properties에서 file.base.path를 확인해본다.
파일이 저장된 곳이랑 일치하는 지 확인한다.
나의 경우 달랐기때문에 1번의 경로와 일치시켜주었다.
1 | file.base.path=D:\\workspace\\프로젝트명\\webapp\\upload |
오류 해결!!
문자열을 다루는 메서드를 사용할 때는 \를 꼭 주의하자!
![[OS/WINDOW]배포후 서버재시작에 batch와 윈도우 스케줄러 활용하기](https://cdn.pixabay.com/photo/2012/03/04/00/50/board-22098_960_720.jpg)
![[블로그]헥소테마에서 댓글기능 facebook에서 utterances로 변경하기](https://miro.medium.com/max/1600/1*aOv6h3h_v9PQWa03zGACnw.png)