Entradas e Saídas em Java: Difference between revisions
From Wiki**3
No edit summary |
No edit summary |
||
| Line 6: | Line 6: | ||
Mecanismos de entradas e saídas em Java. A classe File. Streams, Readers, Writers. Composição de canais. Acesso aleatório a ficheiros. | Mecanismos de entradas e saídas em Java. A classe File. Streams, Readers, Writers. Composição de canais. Acesso aleatório a ficheiros. | ||
== Nota sobre ordenação de texto em língua natural == | |||
Embora não directamente relacionado com o tópico de entradas e saídas, o processamento de texto pode implicar ordenação de texto em língua natural. | |||
Se forem usados os processos meramente relacionados com a codificação de caracteres, listas de nomes com acentos podem ser ordenadas de forma errónea: | |||
Análise e Síntese de Algoritmos | |||
Compiladores | |||
Cálculo I | |||
Álgebra | |||
Quando a ordem correcta seria: | |||
Álgebra | |||
Análise e Síntese de Algoritmos | |||
Cálculo I | |||
Compiladores | |||
A resolução do problema passa pela utilização dos conceitos relacionados com texto e sensíveis às definições de localização (região e língua natural) e não meramente com codificação de caracteres. No caso concreto deste exemplo, usa-se um comparador especial, '''Collator''', parametrizado com uma instância de '''Locale''' (define a forma de ordenação para uma dada língua natural): | |||
{{CollapsedCode|Collator & Locale|<source lang="java"> | |||
import java.text.Collator; | |||
import java.util.Locale; | |||
import java.util.ArrayList; | |||
import java.util.Collections; | |||
public class A { | |||
public static void main(String[] main) { | |||
ArrayList<String> l = new ArrayList<>(); | |||
l.add("Análise e Síntese de Algoritmos"); | |||
l.add("Compiladores"); | |||
l.add("Cálculo I"); | |||
l.add("Álgebra"); | |||
Collections.sort(l, Collator.getInstance(Locale.getDefault())); | |||
System.out.println(l); | |||
} | |||
} | |||
</source> | |||
}} | |||
== Exemplos == | == Exemplos == | ||
Revision as of 10:31, 13 November 2018
Mecanismos de entradas e saídas em Java. A classe File. Streams, Readers, Writers. Composição de canais. Acesso aleatório a ficheiros. Serialização de tipos primitivos e de objectos: a interface Serializable. Elementos não serializáveis: a palavra chave transient. Excepções associadas a entradas e saídas.
Mecanismos de Entrada e Saída de Dados
Mecanismos de entradas e saídas em Java. A classe File. Streams, Readers, Writers. Composição de canais. Acesso aleatório a ficheiros.
Nota sobre ordenação de texto em língua natural
Embora não directamente relacionado com o tópico de entradas e saídas, o processamento de texto pode implicar ordenação de texto em língua natural.
Se forem usados os processos meramente relacionados com a codificação de caracteres, listas de nomes com acentos podem ser ordenadas de forma errónea:
Análise e Síntese de Algoritmos Compiladores Cálculo I Álgebra
Quando a ordem correcta seria:
Álgebra Análise e Síntese de Algoritmos Cálculo I Compiladores
A resolução do problema passa pela utilização dos conceitos relacionados com texto e sensíveis às definições de localização (região e língua natural) e não meramente com codificação de caracteres. No caso concreto deste exemplo, usa-se um comparador especial, Collator, parametrizado com uma instância de Locale (define a forma de ordenação para uma dada língua natural):
| Collator & Locale |
|---|
import java.text.Collator;
import java.util.Locale;
import java.util.ArrayList;
import java.util.Collections;
public class A {
public static void main(String[] main) {
ArrayList<String> l = new ArrayList<>();
l.add("Análise e Síntese de Algoritmos");
l.add("Compiladores");
l.add("Cálculo I");
l.add("Álgebra");
Collections.sort(l, Collator.getInstance(Locale.getDefault()));
System.out.println(l);
}
}
|
Exemplos
- Exemplo 01: Leitura e Escrita de Texto
- Exemplo 02: Ficheiros de Acesso Binário
- Exemplo 03: Ficheiro de Acesso Aleatório
- Exemplo 04: Serialização de Objectos - Zorg e Zog