De que se trata o artigo: O artigo apresenta as classes que o .NET framework dispõe para realizarmos o tratamento de arquivos, diretórios do sistema e drives instalados no sistema operacional, utilizando práticas que podem melhorar o desempenho e manter a segurança nas atividades relacionadas a operações IO (entradas e saídas) em aplicações .NET.
Em que situação o tema é útil: Na grande maioria dos sistemas desenvolvidos, existe a necessidade de trabalharmos com arquivos
organizados em diretórios no disco rígido da máquina ou leitura de drives e localização, manipulação e armazenamento de informações. Quando necessitamos manter alguma
informação que não seja em bancos de dados relacionais, precisamos manter estas informações organizadas de uma forma que permita a leitura pela aplicação.
Resumo Devman: Neste artigo veremos quais as classes disponíveis no .NET framework que possibilitam a manipulação/edição e exclusão de arquivos físicos e diretórios de sistema em conjunto com as funcionalidades disponíveis pelo sistema operacional. Vamos entender a leitura das informações importantes de arquivos, diretórios e drives como, por exemplo, localização, verificação de propriedades, tamanho, espaço disponível no sistema operacional e monitoramento de alterações.
Primeiros passos com o namespace System.IO - Parte 2
Trabalhar com arquivos, diretórios e operações de IO é uma tarefa considerada trivial para desenvolvedores. Certamente a grande maioria das aplicações ainda necessita realizar o tratamento de arquivos, diretórios, leitura de imagens, vídeos e outros dados que estão armazenados tanto no disco rígido como em bancos de dados relacionais. A má utilização de comandos para estas operações podem comprometer a estrutura de uma aplicação inteira. Desta forma, para facilitar as operações I/O em aplicações .NET, o .NET framework dispõe de um namespace específico para estas tarefas. Trata-se do namespace System.IO. Com as classes disponibilizadas neste namespace, o desenvolvedor pode manipular diretórios, arquivos e drivers do sistema operacional, além de manipular leitura e reprodução de áudio, vídeo, imagens etc.
Este conjunto de classes são derivadas do tipo FileSystemClass, que nada mais é que um conjunto de classes especializadas em manipulação de informação para arquivos, drivers e diretórios. Além deste conjunto de classes, este namespace disponibiliza uma série de outras classes, que tratam das mais variadas operações de I/O possíveis, como escrita e leitura em arquivos.
A Classe FileSystemInfo
No namespace System.IO temos uma série de classes distintas, sendo cada uma aplicada a um tipo de objeto diferente no sistema operacional.
A classe FileSystemInfo, a princípio, serve apenas como classe base, conforme os princípios da Orientação a Objetos, onde temos uma classe mais generalizada para dar origem à classes mais específicas. Ela foi implementada justamente para que suas classes filhas (especializadas como FileInfo) possuam um conjunto de propriedades e métodos em comum, não sendo necessário reescrever os mesmos métodos em cada classe filha.
Para conhecermos melhor as propriedades e métodos da classe FileSystemInfo, vamos analisar a Tabela 1, onde são listadas as propriedades e a Tabela 2, onde são apresentados os seus métodos.
Propriedade | Descrição |
---|---|
Attributes | permite manipular informações dos atributos do arquivo ou diretório que está sendo analisado. Atributos são um conjunto de informações utilizadas tanto pelo sistema operacional, aplicações ou até mesmo pelo usuário, para definir comportamentos de arquivo ou diretório. Um exemplo de atributo de um arquivo é o famoso “Somente Leitura”. Para verificar todos os atributos possíveis de um arquivo ou diretório, podemos analisar o enumerador contido no mesmo namespace da classe FileSystemInfo, denominado FileAttributes. |
CreationTime | permite informar ou ler informação da data em que o arquivo ou diretório foi criado. |
Exists | tem como único objetivo retornar se o arquivo ou diretório analisado através do endereço informado existe ou não no sistema operacional. Neste caso a propriedade somente retorna valor e não permite ser alimentada (modificada). |
Extension | retorna a extensão de um arquivo, por exemplo, em arquivo com o nome “File.txt” retornará a extensão txt. |
FullName | retorna o caminho completo do arquivo ou diretório no sistema operacional, desde o drive inicial até o nome do arquivo ou diretório no sistema. |
LastAccessTime | informa a data e hora do último acesso de um arquivo ou diretório. |
LastWriteTime | informa a data e hora da última manipulação de escrita realizada em um arquivo ou diretório no sistema operacional. |
Name | diferente da FullName, esta propriedade retorna apenas o nome do arquivo ou diretório, sem o caminho ou extensão do mesmo. |
Método | Descrição |
---|---|
Delete | responsável por excluir o arquivo ou diretório do sistema operacional. |
Refresh | atualiza as informações (referente ao armazenamento) do arquivo ou diretório no sistema operacional. |
A Classe FileInfo
A classe destinada a fornecer informações de armazenamento de arquivos no sistema operacional é a classe FileInfo. Com ela conseguimos obter, a partir do endereço de um arquivo, a data de criação do arquivo, nome, extensão, atributos etc. Ela possui todos os métodos e propriedades da classe ...
Confira outros conteúdos:
Teste unitário com NUnit
Como migrar projetos do ASP.NET MVC...
Crie relatórios com o Stimulsoft...
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.