자바 파일 경로 공백,"+",중국어 읽 기 처리 방법

자바 코드 에서 파일 을 읽 을 때 도 있 습 니 다.파일 이 있 는 경로 에 빈 칸,'+'번호 또는 중국어 가 포함 되 어 있 을 때 이 특수 한 문자 들 이 인 코딩 번역 되 기 때문에 파일 의 오 류 를 발견 하지 못 했 습 니 다.이러한 오류 가 발생 하면 인 코딩 된 경 로 를 디 코딩 해 야 파일 을 정확하게 찾 을 수 있 습 니 다.주요 한 해결 방법 은 세 가지 가 있다.
해결 방법
1.교체 법
예 를 들 어 파일 경로 에 빈 칸 이 있 으 면'%20'으로 번역 되 고 문자열 로 바 꾸 어'%20'을 빈 칸 으로 변환 하면 파일 을 정확하게 찾 을 수 있 습 니 다.이런 폭력 적 이 고 저급한 처리 방법 은 일반적으로 경험 이 있 는 개발 자 들 이 사용 하지 않 겠 지?
2.URLDecoder.decode(str,enc)를 사용 하여 디 코딩
빈 칸,중국어 가 번역 되면 URLDecoder.decode 방법 으로 디 코딩 할 수 있 습 니 다.그러나 이 방법 은 경로 에'+'번 호 를 포함 하 는 것 에 대해 정확 한 디 코딩 을 할 수 없습니다.URLDecoder.decode 방법 내부 에서 플러스 번호 가 발견 되면 빈 칸 으로 전환 하기 때 문 입 니 다.

3.만능 방법,touri().getPath()사용
touri()는 자신의 규칙 에 따라 문자열 을 인 코딩 한 다음 에 자동 으로 디 코딩 할 수 있 기 때문에 이런 일 에 관심 을 가지 지 않 고 소스 코드 를 스스로 볼 수 있 습 니 다.
프레젠테이션:
웹 프로젝트 는 tomcat 에 배 치 됩 니 다.경 로 는"D:\Program Files\java\\apache-tomcat-6.0.26"입 니 다.
1.문자열 에 빈 칸 포함:

캡 처 에서 보 듯 이 경로 에 존재 하 는 빈 칸 은'%20'으로 바 뀌 었 습 니 다.빈 칸 을 포함 하 는 경 로 를 디 코딩 하지 않 으 면 파일 을 직접 읽 을 수 없습니다.위의 두 번 째,세 번 째 방법 을 사용 하면 파일 을 정확하게 얻 을 수 있 습 니 다.
2.경로 에'+'포함

위의 그림 에서 볼 수 있 듯 이 경로 에'+'번호 가 포함 되 어 있 으 면 두 번 째 방법 은 효력 을 잃 지만 세 번 째 방법 은 유효 하 다.그래서 평소 에는 세 번 째 방법 을 사용 하 는 것 이 좋다.이 밖 에 상기 소 개 된 방법 은 Liux 에 배치 되 어 있 으 면 적용 된다.
이상 의 자바 읽 기 파일 경로 빈 칸,"+"와 중국어 의 처리 방법 은 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시기 바 랍 니 다.여러분 들 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기