Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ ) 에러 해결방법

이스케이프 시퀀스란 백슬래시() 뒤에 한 문자나 숫자 조합이 오는 문자 조합을 말한다.
이 에러를 해결하기 위해선 Java 문자열에서 백슬래시()를 표현하기 위해선 이스케이프 문자로서의 백슬래시(\)를 사용해야 한다.

 

 

 

원인

File file = new File("\git\endangered\WebContent\images\20231102015937083_1207_0.jpg");

이클립스에 출력된 에러 메시지

 
첨부파일 업로드 중 파일 타입 테스트를 위한 코드를 추가했다.
new File의 파일 경로 부분에서 유효하지 않은 이스케이프 시퀀스라는 에러가 발생했다.
 

escape sequence(이스케이프 시퀀스)

백슬래시(\) 뒤에 한 문자나 숫자 조합이 오는 문자 조합을 말한다.
아래는 오라클에서 제공하는 이스케이프 시퀀스에 관한 문서 중 일부분을 정리한 내용이다.

이스케이프 시퀀스 설명
\t 탭 삽입
\b 백스페이스 삽입
\n 개행(줄바꿈) 삽입
\r 캐리지 리턴(행 앞으로 커서 이동) 삽입
\f 폼 피드 삽입
\' 작은따옴표 삽입
\" 큰따옴표 삽입
\\ 백슬래시 삽입

 
 
 

해결

Java 문자열에서 \이스케이프 문자이므로 문자열에 \를 삽입하기 위해서는 \\를 입력해야 한다.
마찬가지로 문자열 내에 '를 삽입하고 싶다면 \'를 입력해야 한다.
 
따라서 에러가 났던 코드를 아래처럼 수정하면 된다.

File file = new File("\\git\\endangered\\WebContent\\images\\20231102015937083_1207_0.jpg");

 
 
 

📜참고