Entradas e Saídas em Java: Difference between revisions

From Wiki**3

Root (talk | contribs)
No edit summary
Root (talk | contribs)
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

Programação com Objectos
Introduction
Creation and Destruction
Inheritance & Composition
Abstraction & Polymorphism
Code Organization
Java Topics
Inner Classes
Enumerations
Data Structures
Exceptions
Input/Output
RTTI
Other Topics
JUnit Tests
UML Topics
Design Patterns
"Simple" Factory
Composite & Visitor
Command
Strategy & State
Template Method
Observer
Abstract Factory
Decorator & Adapter
Façade (aka Facade)

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

Exercícios