Gerando arquivos de Java

Índice
Apesar de trabalhar com Bases de dados É uma coisa muito boa e nos poupa muito trabalho na hora de fazer consultas e relacionar registros, às vezes precisamos gerar arquivos, pois não temos servidor Base de dados disponível ou talvez porque não precisamos salvar um registro, mas um conjunto de dados não relacionado.
O gerenciamento de arquivos é uma área que muitos ainda veem como complexa ou talvez obsoleta, porém incorreta, a geração de arquivos é vital no desenvolvimento de sistemas e aplicações. Um arquivo pode variar de gerar um .TXT com algumas linhas em particular, até a geração de grandes .xml que podemos definir uma configuração.
Para lidar com tudo que envolve a criação de um arquivo em um sistema, Java conte com a aula Arquivo dentro do pacote de biblioteca para entrada de dados e manipulação de saída java.io. Esta classe nos fornece diferentes métodos que nos permitem realizar operações que variam de criar e excluir arquivos, para criar diretórios, validar permissões, etc..
Antes de ver na prática como podemos usar a classe para realizar operações de arquivo, devemos entender que eles fazem alguns de seus métodos principais, com isso teremos uma base teórica para a qual podemos ir quando formos apresentados a um determinado problema que exige tratamento de arquivos em nossos programas:
existe ()Este método nos dá uma resposta booleana sobre a existência de um determinado arquivo em um diretório que especificamos ao invocá-lo, obviamente retorna verdadeiro ou verdadeiro se o arquivo for encontrado e falso ou falso se não for.
getCanonicalPath ()Este método retorna o nome completo incluindo o caminho do arquivo, é muito importante obter a posição absoluta do nosso arquivo dentro do sistema onde estamos executando o nosso programa.
getName ()Ao contrário do método anterior, retorna apenas o nome relativo e abreviado do arquivo, ou seja, sem incluir o endereço ou pasta onde está localizado.
pode ler ()Este método nos permite verificar se temos permissão para ler o arquivo, é muito importante validar se podemos ou não ler um arquivo antes de iniciar uma operação com ele, desta forma podemos reduzir as exceções e economizar recursos do sistema.
pode escrever ()Este é outro método que nos ajuda a validar as permissões dos arquivos, ao aplicá-lo em uma instância da classe Arquivo nos informará se podemos escrever o arquivo correspondente.
comprimento ()Este método é um dos mais úteis porque nos permite saber o tamanho de um arquivo, uma verificação importante no processamento.
isFile ()Por fim, este método nos permite saber se o que estamos avaliando é um arquivo ou um diretório, para sabermos se estamos trabalhando na estrutura que desejamos.
O criando um arquivo É um processo pelo qual escrevemos dentro do sistema em que nosso programa é executado. Há uma diferença entre escrever um arquivo e escrever dentro de um arquivo, o primeiro nos diz que geramos o arquivo dentro do sistema, mas não necessariamente adicionamos o conteúdo a ele; Por outro lado, o segundo nos diz que adicionamos conteúdo a um arquivo existente.
Eles podem se perguntar por que queremos um arquivo vazio, um arquivo vazio não é inútil, pode ser parte de um processo maior dentro de uma aplicação, por exemplo, um método cria o arquivo e após o resultado de um processo, outro método se encarrega de adicionar dados para ele. Também pode ser vital em validações, onde geramos arquivos temporários para indicar ao programa em que fase do processo estamos, etc.
Vamos ver abaixo um pequeno código onde geramos um arquivo plano vazio.
 import java.io. *; import java.io.File; public class CreateFiles {public static void main (String [] argv) lança IOException {if (argv.length == 0) {System.err.println ("Você deve inserir um nome por parâmetro"); System.exit (1); } para (String filename: argv) {new File (filename) .createNewFile (); }}} 

Vemos que a primeira coisa que fazemos é importar as classes de java.io para ser capaz de acessar o tratamento de exceções com IOException, então importamos a classe java.io.File que é o que nos permite manipular os arquivos diretamente.
Então criamos nossa classe e em seu método a Principal Indicamos que receberá argumentos, fazemos isso para indicar dinamicamente os nomes dos arquivos. Como precisamos de um nome, o que fazemos é uma pequena validação, que indica que se um nome de arquivo não for recebido, é solicitada a sua inserção e o programa é encerrado. Finalmente, para cada argumento recebido, criaremos um novo arquivo, com isso o que fazemos é uma nova instância da classe Arquivo e com o método createNewFile () geramos o arquivo no sistema.
Devemos estar cientes de que, se nosso programa não tiver permissões suficientes para criar um arquivo em seu diretório, obteremos um erro. Sem mais delongas, vamos ver como fica nosso programa quando o executamos no console:

PROLONGAR

Podemos ver como funcionou a nossa validação inicial e, em seguida, quando tivermos passado o nome do arquivo que foi gerado, para verificar o último, simplesmente fizemos um dir do nosso diretório e assim verificamos a existência do arquivo.
Outra das operações mais comuns ao trabalhar com arquivos após a gravação e exclusão é a renomeação, para isso em Java Devemos seguir um processo que pode parecer complicado, mas, como veremos no exemplo que acompanhará a explicação, é algo bastante fácil de entender.
Como fazê-lo?Renomear um arquivo em Java requer dois objetos do tipo Arquivo, o primeiro conterá o arquivo que queremos renomear e o segundo conterá o novo nome do arquivo, uma vez atendidas essas condições devemos chamar o método renameTo () sobre o objeto de arquivo existente e passe a ele o novo objeto com o novo nome.
Vamos ver o código de que precisamos para realizar a operação de renomeação em nosso arquivo:
 import java.io. *; import java.io.File; public class RenameFiles {public static void main (String [] argv) lança IOException {File FirstObject = new File ("NewFile.txt"); Arquivo secondobject = new File ("FileWithNewName.txt"); FirstObject.renameTo (SecondObject); }} 

Importamos as classes e pacotes correspondentes, mantendo os mesmos do exemplo anterior.
Dentro do método a Principal () vamos criar nosso primeiro objeto e vamos colocar o nome do arquivo que havíamos criado no exemplo anterior, neste caso é FileNew.txt. Em seguida, criamos um segundo objeto com o novo nome que queremos para o nosso arquivo, no exemplo que escolhemos FileWithNewName.txt.
Finalmente, ao primeiro objeto, aplicamos o método renameTo () e como argumento ou parâmetro passamos para ele o segundo objeto que tem o novo nome para nosso arquivo. Vamos ver como fica no console quando executamos nosso código:

PROLONGAR

Percebemos como a pasta mudou e agora reflete nosso novo arquivo em comparação com a execução do primeiro exemplo de criação de arquivo.
Finalmente veremos a outra operação que é bastante comum quando se trabalha com arquivos e que é deletar, esta talvez seja uma das mais simples, pois só precisamos saber o nome do arquivo, validar se ele existe e depois proceder à deleção usando o método deletar () onde passaremos o nome do arquivo em questão. Vamos ver no código a seguir como conseguimos isso:
 import java.io. *; import java.io.File; public class DeleteFile {public static void main (String [] argv) {delete ('FileWithNewName.txt'); } public static void delete (String filenameDelete) {tente {File file = new File (filenameDelete); if (! file.exists ()) {System.err.println ("O arquivo" + filenameDelete + "não existe neste diretório"); Retorna; } if (file.delete ()) System.err.println ("** O arquivo" + fileNameDelete + "foi excluído **"); else System.err.println ("Não foi possível excluir o arquivo:" + filenameDelete); } catch (SecurityException e) {System.err.println ("Não foi possível excluir o arquivo:" + DeleteFileName + "(" + e.getMessage () + ")"); }}} 

Vemos que este programa é um pouco mais extenso que os anteriores, isso porque criamos um função reutilizável Para a exclusão de arquivos, onde primeiro validamos a existência do arquivo, em seguida procedemos à exclusão, aqui validaremos se ele foi realmente excluído, caso contrário informamos ao usuário que o arquivo não pôde ser removido do Sistema de Arquivos.
No console podemos ver como conseguimos executar esta operação com sucesso, para isso usamos o arquivo que havíamos renomeado no exemplo anterior, então quando fizermos uma lista do conteúdo da pasta veremos a mudança refletida:

PROLONGAR

Por fim, vamos tentar deletar novamente para que possamos observar o funcionamento das validações:

PROLONGAR

Com isso encerramos este tutorial, aprendemos a gerar arquivos, além de executar duas das ações mais utilizadas para manipulação de arquivos, com isso podemos incorporar essas técnicas em nossos programas e aplicativos, aproveitando as vantagens que este tipo de técnicas você pode nos trazer.
wave wave wave wave wave