Tekstitiedoston koodaus

Jos lisäosa lukee tekstitiedostoja, sen tulee noudattaa työympäristön tekstitiedoston koodauksen asetusta. 

tekstitiedoston koodaus

Tekstitiedostojen koodaus vaihtelee ympäristön ja paikallistunnuksen mukaan.  Useimmiten riittää isäntäkäyttöjärjestelmän paikallistunnuksen mukaisen tekstitiedostojen oletuskoodauksen käyttö.  Joskus käyttäjä kuitenkin haluaa käsitellä tekstitiedostoja, jotka ovat peräisin toisesta lähteestä.  Kun otetaan huomioon mahdollisuus käyttää ympäristöä työryhmän verkkoympäristössä, käyttäjät voivat käsitellä tekstitiedostoja, joiden koodaus poikkeaa heidän omasta koodausmallistaan, joten he voivat vaihtaa tiedostoja helposti toisen työryhmän kanssa.

Tämän vuoksi työympäristö määrittää oman koodausprofiilinsa, jonka käyttäjä määrittää Oletusasetukset-valintaikkunassa.  Käyttäjät voivat valita jonkin käytettävissä olevan koodausvaihtoehdon Yleiset > Työtila -oletusasetussivulta tai kirjoittaa oman koodauksensa.  Tekstitiedostoja tulkitsevien lisäosien, esimerkiksi muokkausohjelmien ja koontitoimintojen, tulee käyttää työympäristön oletuskoodausta sen sijaan, että ne olettaisivat asennetun käyttöjärjestelmän koodauksen olevan käytössä.

Voit hakea koodausoletuksen metodilla ResourcesPlugin.getEncoding().  Tämä koodaus tulee välittää java.io-lukuohjelmiin järjestelmän oletuskoodauksen käytön sijaan.  Jos sinun on seurattava tämän oletuksen muutoksia, voit liittää kuuntelutoiminnon ResourcesPlugin -oletukseen ja reagoida muutoksiin kentässä ResourcesPlugin.PREF_ENCODING.  Seuraava esimerkki on oletustekstinmuokkausohjelmasta:

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

Käyttäjät voivat myös vaihtaa tietyn tiedoston koodausta muokkausohjelman Muokkaa > Koodaus -valikosta.  Jos olet käsittelemässä tekstiä avoimessa muokkausohjelmassa, sen sijaan tulee käyttää tietyn muokkausohjelman koodauksen hakuun IEncodingSupport.getEncoding()-metodia.  Seuraavassa esimerkissä näytetään, miten nämä tiedot haetaan muokkausohjelmasta:

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