java. util. Properties 에서 중국어 난 코드 를 읽 는 올 바른 해결 방안 (native2ascii. exe 를 사용 하지 마 십시오)...


Spring 프레임 워 크 가 유행 하면 서 프로필 을 해석 하 는 코드 를 직접 쓰 지 않 아 도 되 었 습 니 다. 하지만 최근 에는 기본 항목 (너무 기본 적 이어서 커 다란 Spring 을 사용 할 수 없습니다) 이 있 습 니 다.
자바. util. Properties 로 중국어 내용 (UTF - 8 형식) 을 읽 는 프로필 을 만 나 중국어 코드 가 흐 트 러 지 는 현상 이 발생 했 습 니 다.
 
Properties prop=new Properties();       
prop.load(Client.class.getClassLoader().getResourceAsStream("config.properties"));

 
습관 적 으로 구 글 을 살 펴 보 니 인터넷 의 대부분 글 은 native2ascii. exe 로 이러한 해결 방안 을 바 꾸 라 는 것 이 었 다. 처음에는 어 리 석 을 뻔 했 고 이런 우회 방법 만 사용 할 수 있 을 것 이 라 고 생각 했다.
 
하지만 문 제 는 너무 복잡 하 다 는 것 이다!만약 매번 native2ascii. exe 로 중국 어 를 \ uXXXX \ \ uXXXX 와 같은 것 으로 변환 한다 면, 먼저 말 하지 않 아 도 됩 니 다. 변 환 된 파일 은 전혀 읽 을 수 없습니다!!이것 은 기본적으로 참 을 수 없 는 것 이다!(native2ascii. exe 로 도 전환 할 수 있 지만 마찬가지 로 귀 찮 습 니 다!) 냉정 해 지면 서 갑자기 생각 났 습 니 다. 자바 를 처음 배 울 때 봤 습 니 다. 자바. io 가방 에서 Reader / Writer 와 Stream 의 차이 점 입 니 다.(연대 가 오래 되 어 구체 적 인 세부 사항 을 잊 어 버 렸 습 니 다. 대개 Reader / Write 는 인 코딩 텍스트 를 처리 하 는 것 이 고 InputStream / OutputStream 은 데 이 터 를 2 진 흐름 으로 만 생각 합 니 다) 정확 한 해결 방안 입 니 다.
 
Properties prop=new Properties();       
prop.load(new InputStreamReader(Client.class.getClassLoader().getResourceAsStream("config.properties"), "UTF-8"));       


 
이 중 "UTF - 8" 은. properties 파일 의 인 코딩 형식 을 명 확 히 지정 하 는 데 사 용 됩 니 다. (지정 하지 않 으 면 기본적으로 OS 를 사용 합 니 다. 이 인 자 는 같은 프로필 의 같은 코드 를 만 들 수 있 습 니 다. Liux 와 windows, 영문 windows 와 중국어 windows 간 의 표현 이 일치 하지 않 습 니 다) 이 인 자 는 구체 적 으로 읽 은 properties 파일 의 형식 과 일치 해 야 합 니 다. 
 
이 물건 은 정말 기초 가 되 어 있어 서 할 말 이 없 었 다.그러나 인터넷 에 떠 도 는 그 우회 방법 에 관 한 글 이 너무 많아 서 사람 을 너무 오도 하 니 시청 각 을 바로 잡 는 것 이 좋 겠 다.
 
-------------------------------------------------------
후속: 이틀 동안 이러한 방법 을 사용 하려 면 Liux 에서 개발 한 'properties' 를 주의해 야 합 니 다. windows 를 사용 하려 면 먼저 유 닉 스 2dos 로 전환 해 야 합 니 다. 그렇지 않 으 면 설정 항목 을 잃 어 버 리 는 현상 이 발생 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기