Koding av tekstfil

Hvis plugin-modulen leser tekstfiler, må den følge preferansen for koding av tekstfil i arbeidsbenken. 

tekstfilkoding

Tekstfiler bruker ulike koder avhengig av hvilken plattform og hvilket språkmiljø som brukes.  Det fungerer vanligvis bra å bruke standard koding av tekstfil for språkmiljøet i vertsoperativsystemet. Det kan imidlertid hende at en bruker vil arbeide med tekstfiler som kommer fra en annen kilde. Gitt at det er mulig å bruke plattformen i et nettverkstilsluttet gruppemiljø, er det absolutt mulig for brukere å arbeide med tekstfiler som har en annen koding enn den interne kodingen, og uten problemer kunne utveksle filer med andre grupper.

Dette er årsaken til at arbeidsbenken definerer sin egen kodingsprofil som angis av brukeren i dialogboksen Preferanser. Brukere kan velge mellom tilgjengelige kodinger på preferansesiden under Generelt > Arbeidsområde eller skrive sin egen koding.  Plugin-moduler som tolker tekstfiler, for eksempel redigeringsprogrammer og byggere, må kontrollere hvilke kodingspreferanser som gjelder for arbeidsbenken, i stedet for å anta at kodingen for det installerte operativsystemet, brukes.

Du kan hente kodingspreferansen ved hjelp av ResourcesPlugin.getEncoding().  Denne kodingen må sendes til lesere av java.io i stedet for å bruke standard systemkoding.  Hvis du vil spore endringer for denne preferansen, kan du binde en lytter til ResourcesPlugin -preferanser og svare på endringer i ResourcesPlugin.PREF_ENCODING. Følgende eksempel er hentet fra standard tekstredigeringsprogram:

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

Brukere kan også endre kodingen for en bestemt fil på menyen Rediger > Koding i et redigeringsprogram. Hvis du manipulerer tekst i et åpent redigeringsprogram, må du i stedet bruke IEncodingSupport.getEncoding() for å få kodingen for et bestemt redigeringsprogram. Dette eksempelet viser hvordan du henter denne informasjonen fra et redigeringsprogram:

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