Escolar Documentos
Profissional Documentos
Cultura Documentos
▪
▪
▪
▪
▪
• O armazenamento de dados em variáveis, arrays, coleções ou qualquer outra estrutura
de dados em memória é temporário;
• Os dados são perdidos quando uma variável(ou objeto) local “sai do escopo” ou
quando o programa termina;
• Os arquivos são utilizados para persistência de dados a longo prazo, mesmo depois
que o programa termine;
• Um arquivo é composto por campos, que nada mais são do que um conjunto de
caracteres ou bytes que transmitem uma informação:
• Vários campos compõem um registro - pode ser implementado como uma classe
Java;
• Um arquivo é portanto um conjunto de registros;
• Sendo Java uma linguagem O.O., nada mais claro que utilizar classes e instâncias delas
- objetos - para lidar com a entrada/saída (I/O – Input/Output) de dados;
• Não é necessário se preocupar com o sistema operacional no qual sua aplicação está
rodando;
• Streams são sequências ordenadas de dados que têm uma fonte, no caso de
streams de entradas, ou um destino, no caso de streams de saída;
• Em outras palavras, uma stream é uma a conexão para uma fonte de dados ou
para um destino de dados, ou para ambos;
Input stream
Programa Arquivo
(quero ler)
• Arquivos baseados em um fluxo de caracteres são arquivos textos e arquivos
baseados em um fluxo de bytes são arquivos binários;
Programa T e x t o s a í d a Arquivo
arquivoSaida.print("Teste");
arquivoSaida.print("Conteúdo do arquivo");
arquivoSaida.close();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
• Basicamente, para ler dados de um arquivo texto, é preciso executar três passos:
- Abrir o arquivo;
- Usar o arquivo (ler os dados);
- Fechar o arquivo;
String linha;
while ((linha = arquivoEntrada.readLine()) != null) {
System.out.println(linha);
}
arquivoEntrada.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
• O Java oferece várias implementações
para leitura/escrita de arquivos texto;
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.File;
import java.io.IOException;
if (!arquivo.exists())
arquivo.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
• A classe StringBuffer representa uma sequência de caracteres não constante
(diferente de String que é constante);
• Sendo assim é possível a alteração de caracteres de objetos desta classe sem a
realocação de outro objeto;
Método Descrição
append Acrescenta um valor ao final da sequência
delete Remove caracteres da sequência
deleteCharAt Remove um caractere da sequência
insert Insere um valor em determinada posição da sequência
replace Substitui um caractere da sequência
setCharAt Substitui um caractere da sequência
reverse Inverte a sequência de caracteres
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
String linha;
StringBuffer texto = new StringBuffer();
System.out.println(texto);
arquivoEntrada.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
1. Crie um programa em Java para ler um arquivo texto e
escrever apenas os caracteres alfabéticos(letras) e o espaço para
um arquivo de destino. Números e caracteres especiais devem
ser desconsiderados.
2. Crie um programa em Java para ler um arquivo texto, onde cada
linha contém dois números inteiros separados por vírgula. Este
programa deve utilizar o arquivo de entrada citado acima para
gerar um arquivo com 3 campos, sendo o terceiro o valor da soma
dos outros dois citados anteriormente.
“Somos o que repetidamente fazemos. Portanto, a excelência não é um
feito, é um hábito”. (Aristóteles)