domingo, 3 de junho de 2012

Android, file io e encoding

  Vamos fazer umas alterações no projeto anterior para testarmos gravação e leitura de arquivos de textos e encoding.
  Usaremos:
  Para output:
   openFileOutput - médodo que abre um arquivo e retorna um objeto tipo FileOutputStream.
   OutputStreamWriter - classe que faz a tradução de character em byte(s) usando o encoding. Se não for informado um específico assume o default.
   BufferedWriter - grava characters. no buffer.

  Para input:
    openFileInput - médodo que abre um arquivo e retorna um objeto tipo FileInputStream
    InputStreamReader - classe que faz a tradução de bytes para character usando o encoding. Se não for informado um específico assume o default
    BufferedReader - classe que faz a leitura de characters via buffer.

   Vamos aos códigos:

 main.xml


strings.xml


TesteFileEcondingActivity.java

Vamos digitar alguns caracteres acentuados para testar:



Acima gravamos texto.txt com o encoding default



Acima, leitura do arquivo texto.txt, usando o encoding Cp1252. Vejam os caracteres acentuados.



Acima, lendo o arquivo informando o encoding UTF8. Como foi com ele que gravamos, leitura ok.

É isso.
Abraços.

Nenhum comentário:

Postar um comentário