sábado, 3 de novembro de 2012

Digitalizar um disco rígido para uma árvore em C #


Para digitalizar através de um disco rígido, em qualquer linguagem de programação, a técnica mais fácil de usar é recursão: a função de chamada em si. Cada pasta e arquivo, então pode ser adicionado a um TreeView (como no Windows Explorer). Também exploraremos como adicionar um caminho para um TreeView com C #.

Para a varredura do disco rígido, aqui é o pseudocódigo:

String [] array = obter os diretórios no caminho raiz

Para cada pasta:

Chame esta função, com o novo caminho raiz

String [] arquivos = obter os arquivos no caminho raiz

Para cada arquivo:

Adicioná-lo ao controle de árvore

Observe que o código é configurado de modo que o resultado sai como

Dobrador

Dobrador

Arquivo

Muito parecido com o Windows Explorer lida com ele. Mas note também que você não tem que adicioná-lo a uma árvore, você pode fazer o que quiser com os arquivos.

Tanto quanto adicionando-a a um controle TreeView. A maneira mais eficiente de fazer isso é por ter um caminho "C :/ Folder1/Folder2/file.txt" criar os nós pai necessárias e, então, criar o nó filho (o arquivo).

Recursão é nosso amigo aqui também, desta vez em pontos:

> Vá até a barra invertida com substring (C:, Folder1, Folder2).

> Verifique se o nó pai já existe, se não criá-lo.

> Chame esta função novamente, mas com a "pasta" ao lado e com uma referência ao nó pai novo

> Continue indo até que não haja mais barras invertidas esquerda, portanto, pode apenas adicionar o "arquivo" nó

A beleza da recursividade é como uma função aparentemente simples pode olhar. Siga a teoria descrita acima e você vai ver por si mesmo como ele é executado de forma eficiente.

Se você gostaria de vê-lo já escrito em C #, baixar o arquivo de projeto aqui....

Nenhum comentário:

Postar um comentário