A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Stream – Fluxo I/O Sistema de Arquivos

Apresentações semelhantes


Apresentação em tema: "Stream – Fluxo I/O Sistema de Arquivos"— Transcrição da apresentação:

1 Stream – Fluxo I/O Sistema de Arquivos
Capítulo 10 Stream – Fluxo I/O Sistema de Arquivos

2 Sistema de Arquivos Introdução Acessando o sistema de arquivos
A classe java.io.File

3 Introdução O pacote java.io
Através do pacote java.io podemos utilizar a classe File para acessar e manipular arquivos e diretórios do sistema de arquivos.

4 Acessando o Sistema de Arquivos
A classe java.io.File Uma instância da classe File representa um arquivo ou diretório que pode estar presente (ou não) em seu sistema de arquivos (HD, pen-drive, CD, etc)

5 Caminho relativo ao diretório atual da aplicação
A classe java.io.File Construtor File(String pathname) Podemos obter uma instância da classe File utilizando o caminho do arquivo ou diretório desejado: File doc = new File(“C:\\documentos\\doc.txt”); File img = new File(“E:\\imagens\\foto5.jpg”); File pasta = new File(“C:\\Meus Documentos”); File arq = new File(“config.txt”); Caminho relativo ao diretório atual da aplicação

6 A classe java.io.File Construtor File(File folder, String filename)
Outra forma de instanciarmos a classe File é através do diretório que contém o arquivo desejado: File pasta = new File(“C:\\Meus Documentos”); File arquivo = new File(pasta, “config.txt”);

7 A classe java.io.File boolean exists() boolean isFile()
Verifica se a instância está apontando para um arquivo ou diretório já existente. boolean isFile() Verifica se a instância está apontando para um arquivo. boolean isDirectory() Verifica se a instância está apontando para um diretório. boolean isHidden() Verifica se a instância está apontando para um arquivo ou diretório existente e que tenha a propriedade “arquivo oculto” selecionada.

8 A classe java.io.File File temp = new File(“C:\\Documentos\\imagens\\temp”); if (!temp.exists()) { System.out.println(“Arquivo ou pasta não encontrado”); } else if (temp.isFile()) { System.out.println(“Arquivo temp encontrado”); } else if (temp.isDirectory()) { System.out.println(“Diretório temp encontrado”); } if (temp.isHidden()) { System.out.println(“Temp está oculto”);

9 A classe java.io.File boolean delete()
Tenta excluir o arquivo ou diretório, retornando true caso tiver sucesso. File temp = new File(“C:\\Documentos\\foto5.jpg”); boolean ok = temp.delete(); if (ok) { System.out.println(“Arquivo excluído com sucesso.”); }

10 A classe java.io.File boolean renameTo(File dest)
Tenta mover e/ou renomear o arquivo ou diretório, retornando true caso tiver sucesso. File origem = new File(“C:\\Documentos\\foto5.jpg”); File destino = new File(“E:\\fotos\\carnaval.jpg”); boolean ok = origem.renameTo(destino); if (ok) { System.out.println(“Arquivo movido com sucesso.”); }

11 A classe java.io.File boolean createNewFile()
Tenta criar um arquivo vazio, retornando true caso tiver sucesso. File novo = new File(“C:\\Documentos\\carta.txt”); boolean ok = novo.createNewFile(); if (ok) { System.out.println(“Arquivo criado com sucesso.”); }

12 A classe java.io.File boolean mkdir()
Tenta criar um diretório, retornando true caso tiver sucesso. File novo = new File(“C:\\Documentos\\planilhas”); boolean ok = novo.mkdir(); if (ok) { System.out.println(“Diretório criado com sucesso.”); }

13 A classe java.io.File boolean mkdirs()
Tenta criar um diretório e seus superdiretórios em cascata, retornando true caso tiver sucesso. File novo = new File(“E:\\Particular\\Docs\\Planilhas”); boolean ok = novo.mkdirs(); if (ok) { System.out.println(“Diretório criado com sucesso.”); }

14 A classe java.io.File String getPath()
Retorna o caminho completo do arquivo ou diretório. File arquivo = new File(“C:\\Documentos\\Planilhas\\plan1.xls”); System.out.println(arquivo.getPath()); C:\Documentos\Planilhas\plan1.xls

15 A classe java.io.File String getName()
Retorna o nome do arquivo ou diretório. File arquivo = new File(“C:\\Documentos\\Planilhas\\plan1.xls”); System.out.println(arquivo.getName()); plan1.xls

16 C:\Documentos\Planilhas
A classe java.io.File File getParentFile() Retorna uma referência ao diretório onde o arquivo ou diretório se encontra. File arquivo = new File(“C:\\Documentos\\Planilhas\\plan1.xls”); File pasta = arquivo.getParentFile(); System.out.println(pasta.getPath()); C:\Documentos\Planilhas

17 A classe java.io.File File[] listFiles()
Retorna um array contendo referências de todos os arquivos e subdiretórios contidos no diretório especificado. Caso o item especificado não exista ou não seja um diretório, este método retorna null.

18 A classe java.io.File File pasta = new File(“C:\\Meus Documentos”); File[] arquivoArray = pasta.listFiles(); System.out.println(arquivoArray.length + “ itens encontrados”); for (File arquivo : arquivoArray) { System.out.println(arquivo.getName()); }

19 Tamanho do arquivo: 39936 bytes
A classe java.io.File long length() Retorna o tamanho (em bytes) do arquivo especificado. File arquivo = new File(“C:\\Documentos\\Planilhas\\plan1.xls”); System.out.printf(“Tamanho do arquivo: %d bytes”, arquivo.length()); Tamanho do arquivo: bytes

20 A classe java.io.File long lastModified()
Obtem um número sequencial referente à data da última modificação sobre o arquivo ou diretório. boolean setLastModified(long time) Assinala a data da última modificação sobre o arquivo. Utilize a classe java.util.Date para processar estas informações.

21 A classe java.io.File /* Obtém o instante da última modificação */ File arquivo = new File(“C:\\Documentos\\curriculo.doc”); long dataLong = arquivo.lastModified(); /* Converte para data. */ Date data = new Date(dataLong); /* Prepara o formato de exibição da data. */ SimpleDateFormat mascara = new SimpleDateFormat(“HH:mm:ss”); System.out.println(“Data da última modificação: ” + mascara.format(data));

22 A classe java.io.File boolean canWrite()
Verifica se o arquivo possui permissão para escrita. boolean setWritable(boolean writable) Assinala (true) ou revoga (false) a permissão para escrita no arquivo somente ao proprietário e retorna true ou false informando se a operação foi bem sucedida. boolean setWritable( boolean writable, boolean ownerOnly) Quando o segundo parâmetro é false, este método assinala ou revoga a permissão para escrita no arquivo a todos os usuários do sistema operacional. Quando o segundo parâmetro é true, assinala ou revoga somente para o proprietário do arquivo.

23 A classe java.io.File File arquivo = new File(“C:\\Documentos\\curriculo.doc”); if (arquivo.canWrite()) { System.out.println(“O arquivo pode ser editado.”); } else { System.out.println(“O arquivo não pode ser editado.”); }

24 A classe java.io.File File arquivo = new File(“C:\\Documentos\\curriculo.doc”); boolean result = arquivo.setWritable(true); if (result) { System.out.println(“Permissão de escrita concedida ” + “ao proprietário do arquivo.”); } else { System.out.println(“Não foi possível conceder ” + “permissão de escrita ao proprietário ” + “do arquivo.”); }

25 A classe java.io.File File arquivo = new File(“C:\\Documentos\\curriculo.doc”); boolean result = arquivo.setWritable(true, false); if (result) { System.out.println(“Permissão de escrita concedida ” + “a todos os usuários.”); } else { System.out.println(“Não foi possível conceder ” + “permissão de escrita a todos os usuários.”); }

26 A classe java.io.File boolean canRead()
Verifica se o arquivo possui permissão para leitura. boolean setReadable(boolean readable) Assinala (true) ou revoga (false) a permissão para leitura no arquivo somente ao proprietário e retorna true ou false informando se a operação foi bem sucedida. boolean setReadable( boolean readable, boolean ownerOnly) Quando o segundo parâmetro é false, este método assinala ou revoga a permissão para leitura no arquivo a todos os usuários do sistema operacional. Quando o segundo parâmetro é true, assinala ou revoga somente para o proprietário do arquivo.

27 A classe java.io.File boolean canExecute()
Verifica se o arquivo possui permissão para execução. boolean setExecutable(boolean executable) Assinala (true) ou revoga (false) a permissão para excução no arquivo somente ao proprietário e retorna true ou false informando se a operação foi bem sucedida. boolean setExecutable( boolean executable, boolean ownerOnly) Quando o segundo parâmetro é false, este método assinala ou revoga a permissão para execução no arquivo a todos os usuários do sistema operacional. Quando o segundo parâmetro é true, assinala ou revoga somente para o proprietário do arquivo.

28 Exercício Neste exercício utilizaremos a classe java.io.File para separar um conjunto de arquivos conforme seus tipos.

29 Exercício (Continuação)
Descompacte o arquivo “documentos.zip” fornecido pelo instrutor para algum diretório de seu HD. Isto deverá gerar um diretório chamado “documentos”. Crie uma nova aplicação java, um package br.com.impacta.file e neste, uma classe ExercicioFile que deverá criar 3 subdiretórios em “documentos”: imagens mp3 pdf ... e em seguida deverá varrer o diretório “documentos” movendo cada arquivo para um dos diretórios acima conforme sua extensão.

30 Exercício (Fim) Após executar a sua aplicação os arquivos deverão estar separados da seguinte forma: documentos imagens documentos xxx.jpg xxx.jpg xxx.jpg xxx.mp3 mp3 xxx.jpg xxx.mp3 xxx.pdf xxx.mp3 xxx.mp3 pdf xxx.pdf


Carregar ppt "Stream – Fluxo I/O Sistema de Arquivos"

Apresentações semelhantes


Anúncios Google