Encodage du fichier texte

Si votre plug-in lit les fichiers texte, il doit respecter la préférence encodage du fichier texte dans le plan de travail. 

Les fichiers texte sont encodés en fonction de la plateforme et de l'environnement local.  Le plus souvent, il suffit d'utiliser l'encodage du fichier texte pour l'environnement local du système d'exploitation hôte.  Toutefois, un utilisateur peut souhaiter travailler avec des fichiers texte provenant d'une autre source.  Sachant qu'il est possible d'utiliser la plateforme dans un environnement d'équipe en réseau, il est fort probable que les utilisateurs souhaitent travailler avec des fichiers texte employant un schéma d'encodage différent que leur schéma natif afin de faciliter l'échange de fichiers avec une autre équipe.

C'est pourquoi le plan de travail définit son propre profil d'encodage spécifié par l'utilisateur dans la boîte de dialogue Préférences.   Les utilisateurs peuvent choisir parmi l'un des encodages de la page de préférences Plan de travail > Editeurs ou indiquer leur propre encodage.  Les plug-in interprétant des fichiers texte, tels que des éditeurs et des générateurs, doivent consulter la préférence d'encodage du plan de travail au lieu de supposer que l'encodage du système d'exploitation installé est employé.

La préférence d'encodage actuelle peut être obtenue à l'aide de ResourcesPlugin.getEncoding().   Cet encodage doit être transmis aux lecteurs java.io au lieu d'employer l'encodage système par défaut.  Pour vérifier les modifications apportées à cette préférence, vous pouvez relier un écouteur aux préférences ResourcesPlugin et réagir aux changements dans ResourcesPlugin.PREF_ENCODING.  L'exemple suivant provient de l'éditeur de texte par défaut :

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

Les utilisateurs peuvent aussi modifier l'encodage d'un fichier particulier dans le menu Edition > Encodage d'un éditeur.  Si vous manipulez du texte dans un éditeur ouvert, vous pouvez utiliser IEncodingSupport.getEncoding() afin d'obtenir l'encodage propre à cet éditeur.  L'exemple suivant montre comment obtenir cette information d'un éditeur :

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

Copyright IBM Corporation and others 2000, 2003.