Codificación de los archivos de texto

Si su conector lee archivos de texto, debe respetar la preferencia de codificación de archivo de texto del entorno de trabajo. 

Los archivos de texto están codificados de manera distinta en función de la plataforma y del entorno local.  En casi todas las ocasiones, es suficiente utilizar la codificación de archivo de texto por omisión del entorno local del sistema operativo huésped.  No obstante, a un usuario puede interesarle trabajar con archivos de texto originados en otra fuente.  Dada la capacidad de emplear la plataforma en un entorno de equipo conectado en red, resulta posible que los usuarios trabajen con archivos de texto que empleen un esquema de codificación distinto del nativo, para que puedan intercambiar fácilmente los archivos con otro equipo.

Por esta razón, el entorno de trabajo define un perfil de codificación propio, que el usuario especifica en el diálogo Preferencias.  Los usuarios pueden elegir una de las opciones de codificación disponibles en la página de preferencias Entorno de trabajo > Editores o escribir su propia codificación.  Los conectores que interpretan los archivos de texto, como hacen los editores y los constructores, deben consultar la preferencia de codificación del entorno de trabajo, en vez de presuponer que está vigente la codificación del sistema operativo instalado.

Puede obtener la preferencia de codificación mediante ResourcesPlugin.getEncoding().   Esta codificación debe pasarse a los lectores de java.io, en lugar de utilizar la codificación por omisión del sistema.  Si necesita hacer un seguimiento de los cambios realizados en esta preferencia, puede enganchar un escuchador en las preferencias de ResourcesPlugin y reaccionar a los cambios en ResourcesPlugin.PREF_ENCODING.  El siguiente ejemplo procede del editor de texto por omisión:

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

Los usuarios también pueden cambiar la codificación de un archivo determinado en el menú Editar > Codificar de un editor.  Si esta manipulando texto dentro de un editor abierto, en lugar de ello debe utilizar IEncodingSupport.getEncoding() para poder obtener la codificación de ese editor determinado.  El ejemplo siguiente muestra cómo obtener esta información desde un editor:

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

Copyright IBM Corporation y otros 2000, 2003.