Codificação do Arquivo de Texto

Se seu plug-in ler arquivos de texto, ele deverá aceitar a preferência de codificação de arquivo de texto no workbench. 

Os arquivos de texto são codificados de forma diferente, dependendo da plataforma e do locale.  Na maior parte do tempo, será suficiente utilizar a codificação de arquivo de texto padrão para o locale do sistema operacional do host.  No entanto, um usuário poderá querer trabalhar com arquivos de texto recebidos de outra origem.  Graças à capacidade de utilizar a plataforma em um ambiente de equipe em rede, certamente será possível que os usuários trabalhem com arquivos de texto que utilizem um esquema de codificação diferente do esquema de codificação nativo para facilitar a troca de arquivos com outra equipe.

Por este motivo, o workbench define seu próprio perfil de codificação, especificado pelo usuário no diálogo Preferências.  Os usuários podem escolher dentre as opções de codificação disponíveis na página de preferências Workbench > Editores ou digitar sua própria codificação.  Os plug-ins que interpretam arquivos de texto, como editores e construtores, devem consultar a preferência de codificação do workbench em vez de assumir que a codificação instalada do sistema operacional está em uso.

É possível obter a preferência de codificação utilizando ResourcesPlugin.getEncoding().  Essa codificação deve ser transmitida para leitores java.io em vez de utilizar a codificação padrão do sistema.  Se for necessário rastrear alterações para essa preferência, conecte um atendente nas preferências ResourcesPlugin e reaja a alterações em ResourcesPlugin.PREF_ENCODING.  O exemplo a seguir vem do editor de texto padrão:

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();
}

Os usuário também podem alterar a codificação de um arquivo específico no menu Editar > Codificação de um editor.  Se estiver manipulando texto dentro de um editor aberto, você deveria utilizar IEncodingSupport.getEncoding() para obter a codificação do editor específico.  O exemplo a seguir mostra como obter essas informações de um editor:

IEncodingSupport encodingSupport = (IEncodingSupport) editor.getAdapter(IEncodingSupport.class);
String encoding = encodingSupport.getEncoding();

Copyright IBM Corporation e outros 2000, 2003.