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

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

Capítulo 10. Sistema de Arquivos  Introdução  Acessando o sistema de arquivos  A classe java.io.File 2.

Apresentações semelhantes


Apresentação em tema: "Capítulo 10. Sistema de Arquivos  Introdução  Acessando o sistema de arquivos  A classe java.io.File 2."— Transcrição da apresentação:

1 Capítulo 10

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

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. 3

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) 4

5 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”); 5 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”); 6

7 A classe java.io.File  boolean exists() 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. 7

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”); } 8

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.”); } 9

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.”); } 10

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.”); } 11

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.”); } 12

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.”); } 13

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 14

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 15

16 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 16

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. 17

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()); } 18

19 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 19

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. 20

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)); 21

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. 22

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.”); } 23

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.”); } 24

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.”); } 25

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. 26

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. 27

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

29 Exercício (Continuação) 1. Descompacte o arquivo “documentos.zip” fornecido pelo instrutor para algum diretório de seu HD. Isto deverá gerar um diretório chamado “documentos”. 2. 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. 29

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


Carregar ppt "Capítulo 10. Sistema de Arquivos  Introdução  Acessando o sistema de arquivos  A classe java.io.File 2."

Apresentações semelhantes


Anúncios Google