Teckentabell för textfil

Om ditt insticksprogram läser textfiler måste den följa inställningen för teckentabell för textfiler i arbetsmiljön. 

Teckentabell för textfil

Textfiler använder olika teckentabeller beroende på vilken plattform och språkversion som används.  Den mesta tiden fungerar det bra att använda standardtabellen för värdoperativsystemets språkversion.  Däremot kan en användare vilja arbeta med textfiler som härstammar från en annan källa.  Givet möjligheten att använda plattformen i en nätverksansluten gruppmiljö är det verkligen möjligt att användare vill arbeta med textfiler som har en annan teckentabell än deras ursprungliga så att de enkelt ska kunna utbyta filer med en annan grupp.

Av denna orsak definierar arbetsmiljön sin egen teckentabellprofil som anges av användaren i dialogrutan Inställningar.  Användare kan välja mellan de tillgängliga teckentabellalternativen på inställningssidan Allmänt > Arbetsmiljö eller definiera en egen teckentabell.   Insticksprogram som tolkar textfiler, t.ex. redigerare och byggare, ska konsultera arbetsmiljöns teckentabell istället för att anta att det installerade operativsystemets teckentabell används.

Du kan erhålla teckentabellsinställningen medResourcesPlugin.getEncoding().  Denna teckentabell ska skickas till läsare av java.io istället för att systemets standardteckentabell används.  Om du behöver spåra ändringar till denna inställning kan du koppla en lyssnare på ResourcesPlugin-inställningarna och reagera på ändringar i ResourcesPlugin.PREF_ENCODING.  Följande exempel kommer från standardtextredigeraren:

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

Användare kan även ändra teckentabellen för en viss fil på menyn Redigera > Teckentabell i en redigerare.  Om du manipulerar text i en öppen redigerare bör du istället använda IEncodingSupport.getEncoding() för att få teckentabellen för just den redigeraren.  Följande exempel visar hur du erhåller denna information från en redigerare:

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