Ha a bedolgozó szövegfájlokat olvas, akkor el kell fogadnia a munkaterület szövegfájl-kódolás beállításait.
A szövegfájlok a platformtól és a területi beállítástól függően különböző módon vannak kódolva. A legtöbb esetben a gazda operációs rendszer területi beállításának alapértelmezett szövegfájlkódolása elegendő. De előfordulhat, hogy a felhasználó másik forrásból származó szövegfájlokat kíván használni. Ha a platform használható hálózati csapatkörnyezetben, akkor a felhasználók a natív kódolási séma helyett biztosan használni fognak más kódolási sémával rendelkező szövegfájlokat, így egyszerűen lehet fájlokat cserélni más csapattal.
Ezen okból a munkaterület saját kódolási profilt határoz meg, amelyet a felhasználó ad meg a Beállítások párbeszédablakban. A felhasználók az Általános > Szerkesztők beállításoldalon rendelkezésre álló kódolási lehetőségek közül választhatnak, vagy megadhatnak saját kódolást. Szövegfájlokat feldolgozó bedolgozóknak - mint például a szerkesztők és összeépítők - meg kell tekinteniük a munkaterület kódolási beállítást annak feltételezése helyett, hogy a telepített operációs rendszer kódolását használják.
A kódolási beállítás a ResourcesPlugin.getEncoding() segítségével kérhető le. Az alapértelmezett rendszerkódolás helyett ezt a kódolást kell átadni a java.io olvasónak. Ha követnie kell a beállítás módosításait, akkor egy figyelő csatlakoztatható a ResourcesPlugin beállításokhoz, és reagálhat a ResourcesPlugin.PREF_ENCODING módosításaira. Az alábbi példa az alapértelmezett szövegszerkesztőből származik:
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(); }
A felhasználók egy adott fájl kódolását a szerkesztő Szerkesztés > Kódolás menüjében is megváltoztathatják. Ha a szöveget egy megnyitott szerkesztőben kezeli, akkor az adott szerkesztő kódolásának lekéréséhez inkább az IEncodingSupport.getEncoding() metódust kell használni. Az alábbi példa bemutatja, hogy ezek az információk hogyan kérhetők le a szerkesztőtől:
IEncodingSupport encodingSupport = (IEncodingSupport) editor.getAdapter(IEncodingSupport.class); String encoding = encodingSupport.getEncoding();