Como escrever código Java para excluir vários arquivos de uma vez

Em Java, você pode querer escrever código que irá eliminar vários arquivos de uma vez. Isso pode ser um pouco mais complicado do que parece. O código para excluir o arquivo parecido com este:

new File ( "importantData.txt") delete (). -

Nesse código, o novo arquivo chamada refere-se a um único arquivo. É muito bom código, mas ele não lhe diz como excluir um monte de arquivos. Como você pode escrever código para lidar com vários arquivos de uma só vez?

Felizmente, Java fornece maneiras de lidar com grupos de arquivos. Uma maneira usa uma matriz de Arquivo objectos.

IHateTxtFiles importação java.io.File de classe {void main (args String []) public static {pasta de arquivo = new File ( ".") - Para (ficheiro: folder.listFiles ()) {if (file.getName ( ) .endsWith ()) {file.delete () -} "txt".}}}

Em muitos sistemas operacionais (incluindo Windows, Mac OS e Linux), um único ponto significa o diretório atual de trabalho: o lugar onde um programa começa a procurar arquivos. Para um programa Java em execução no Eclipse, este diretório de trabalho é o diretório raiz do projeto.

Por exemplo, imagine que o código acima vive em um projeto Eclipse chamado 16-06. Em seguida, o seu disco rígido contém uma pasta chamada 16-06, que por sua vez, contém uma pasta chamada src- que, por sua vez, contém o IHateTxtFiles.java Arquivo. diretório de trabalho do programa é a 16-06 diretório. Assim, o código

folder = new File ( ".")

faz com que pasta consulte o diretório chamado 16-06.

image0.jpg

Você provavelmente está pensando: diretório raiz nº 147-A do projeto, 16-06, é uma pasta, não um arquivo. Mas o código diz folder = new File ( "."). Por que o código não diz pasta = new pasta ( ".")?

Acontece que a maioria dos sistemas operacionais esbater as diferenças entre pastas e arquivos. Para fins de Java, o documento IHateTxtFiles.java é um arquivo, a pasta chamada src é também um tipo de arquivo e a pasta chamada 16-06 é também um tipo de um arquivo.

Em Java, cada Arquivo objeto tem um listFiles método, e quando você chama folder.listFiles (), você recebe um array. Cada # 147 de valor # 148- armazenadas na matriz é um dos arquivos na folder.

para (TypeName variableName : RangeOfValues) {demonstrações}

o RangeOfValues é uma matriz. A matriz contém todos os arquivos dentro do 16-06 diretório do projeto. Assim, o reforçada para circuito leva cada arquivo dentro do 16-06 diretório e pede # 147-se esgota o nome deste arquivo com .TXT?# 148;

if (file.getName (). endsWith ( ". txt"))

Se o nome de um arquivo específico termina com .TXT, apagar o arquivo:

file.delete () -

Antes de executar este exemplo, o 16-06 diretório contém coisas nomeadas src, aFile.txt, Salve-me, e xFile.txt.

image1.jpg

Depois de executar esse exemplo, o 16-06 Directory ainda contém src e Salve-me, mas não contém mais aFile.txt ou xFile.txt.

image2.jpg

Depois de executar este programa, você pode não ver qualquer alteração no Package Explorer do Eclipse. Para verificar se o diretório do projeto não contém mais .TXT arquivos, selecione o 16-06 filial no Package Explorer. Em seguida, no menu principal do Eclipse, clique em File-Refresh.

Eclipse Package Explorer parece que está exibindo todos os arquivos e pastas em uma parte do seu disco rígido. Mas as aparências podem enganar. Algumas das agências do Package Explorer a representar nem os ficheiros nem pastas. E alguns dos arquivos e pastas de seu disco rígido não aparecem no Package Explorer do Eclipse.

Além de coisas como src, que aparece no Package Explorer do Eclipse, pasta de um projeto normalmente contém arquivos nomeados .classpath e .projeto, e pastas com o nome .configurações e caixa. Esses arquivos e pastas adicionais normalmente não são exibidos no Package Explorer do Eclipse.

Quando você chamar folder.listFiles (), a matriz resultante não inclui nenhuma das coisas em subdiretórios do pasta diretório.

menu