플러그인이 텍스트 파일을 읽는 경우 Workbench에서 텍스트 파일 인코딩 환경 설정을 준수해야 합니다.
텍스트 파일은 플랫폼 및 로케일에 따라 다르게 인코딩됩니다. 대부분의 경우 호스트 운영 체제의 로케일에 대해 기본 텍스트 파일 인코딩을 사용하면 됩니다. 그러나 사용자가 다른 소스에서 나온 텍스트 파일로 작업할 수도 있습니다. 네트워크 팀 환경에서 플랫폼을 사용할 수 있는 경우 사용자는 다른 팀과 쉽게 파일을 교환할 수 있도록 기본 인코딩 설계가 아닌 다른 인코딩 설계를 사용하는 텍스트 파일로 작업할 가능성이 있습니다.
이런 이유 때문에 Workbench는 환경 설정 대화 상자에서 사용자가 지정한 자체 인코딩 프로파일을 정의합니다. 사용자는 일반 > 편집기 환경 설정 페이지의 사용 가능한 인코딩 선택사항에서 선택하거나 자체 인코딩으로 입력할 수 있습니다. 편집기 및 빌더 등 텍스트 파일을 해석하는 플러그인에서는 설치된 운영 체제 인코딩이 사용 중인 것으로 가정하지 않고 Workbench 인코딩 환경 설정을 참조해야 합니다.
ResourcesPlugin.getEncoding().을 사용하여 인코딩 환경 설정을 확보할 수 있습니다. 기본 시스템 인코딩을 사용하지 말고 이 인코딩을 java.io 판독기에 전달해야 합니다. 이 환경 설정의 변경사항을 추적하려면 ResourcesPlugin 환경 설정에서 리스너를 연결하고 ResourcesPlugin.PREF_ENCODING의 변경사항에 반응할 수 있습니다. 다음 예제는 기본 문서 편집기의 일부입니다.
public void initialize(StatusTextEditor textEditor) { fTextEditor= textEditor; fPropertyChangeListener= new Preferences.IPropertyChangeListener() { public void propertyChange(Preferences.PropertyChangeEvent e) { if (ResourcesPlugin.PREF_ENCODING.equals(e.getProperty())) setEncoding(null, false); } }; Preferences p= ResourcesPlugin.getPlugin().getPluginPreferences(); p.addPropertyChangeListener(fPropertyChangeListener); fEncodingActionGroup= new EncodingActionGroup(fTextEditor); fEncodingActionGroup.update(); }
편집기의 편집 > 인코딩 메뉴에서 특정 파일에 대한 인코딩을 변경할 수도 있습니다. 열린 편집기 내부에서 텍스트를 조작하려는 경우, 특정 편집기에 대한 인코딩을 얻으려면 IEncodingSupport.getEncoding()을 사용해야 합니다. 다음 예제에서는 편집기에서 이 정보를 얻는 방법을 보여줍니다.
IEncodingSupport encodingSupport = (IEncodingSupport) editor.getAdapter(IEncodingSupport.class); String encoding = encodingSupport.getEncoding();