30.06.2013 Views

Apostila Java

Apostila Java

Apostila Java

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

dispositivos de Entrada e Saída (I/O) do <strong>Java</strong>:<br />

import java.io.*;<br />

public class Teclado<br />

{<br />

static public void main(String[] args)<br />

{<br />

// Tem que usar tratamento de exceções,<br />

// conforme explicado em aula.<br />

try<br />

{<br />

// Essas duas linhas criam um "leitor com buffer"<br />

// do dispositivo padrão de entrada do <strong>Java</strong>:<br />

// o teclado (System.in).<br />

InputStreamReader dados = new InputStreamReader(System.in);<br />

BufferedReader teclado = new BufferedReader(dados);<br />

System.out.print("digite uma frase: ");<br />

String frase = teclado.readLine();<br />

System.out.println("Frase digitada:\t" + frase);<br />

}<br />

catch(Exception erro)<br />

{<br />

}<br />

}<br />

}<br />

Conversão entre bytes e caracteres<br />

Em <strong>Java</strong>, quando cria-se um leitor ou escritor a partir de um Stream, a conversão entre os bytes<br />

transferidos entre a origem e o destino do Stream serão convertidos segundo o padrão de caracteres da<br />

plataforma onde o sistemas está rodando e a tabela UNICODE. Em lugares onde o padrão é o Latin-1<br />

(Ascii), como no Brasil, a codificação de bytes utilizada será a ISO 8859-1 (para a nossa sorte, o padrão<br />

de codificação <strong>Java</strong> é o mesmo utilizado nos computadores brasileiros, então não há necessidade de<br />

preocupações com conversões entre símbolos – a menos que você venha a produzir programas para<br />

outros países). Você pode definir qual o padrão de codificação a ser adotado pela máquina virtual,<br />

devendo para isso consultar a documentação da ferramenta native2ascii que acompanha o jdk.<br />

Esse esquema de conversão permite que os programas <strong>Java</strong> sejam portáveis a computadores de todo<br />

mundo, uma vez que os processos da memória sempre trabalharão com o UNICODE. Você pode passar<br />

o padrão de codificação no construtor dos Streams, como mostra o exemplo abaixo:<br />

InputStreamReader leitor = new inputStreamReader(System.in, "8859_1");<br />

O que é UNICODE?<br />

<strong>Java</strong> utiliza uma tabela, chamada de UNICODE, para representar os símbolos utilizados na maioria das<br />

línguas conhecidas no mundo. Essa tabela é usada para converter os símbolos utilizados pela plataforma<br />

onde a máquina virtual está rodando e os programas <strong>Java</strong> – que, na verdade, passam a reconhecer<br />

esses símbolos apenas como entradas na tabela UNICODE e não pelo significado real desses símbolos<br />

na linguagem padrão dessa plataforma.<br />

121

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!