Buscador de músicas e vídeos.........!

Ola Galera, preciso fazer aqui na facul um buscador de vídeos e músicas do pc, no Windows XP, algo assim:

  1. Varre e busque todas as musicas e vídeos do PC.
  2. Elas ficam como um link, podendo abrir o local que está armazenado, ou pode pelo proprio programa abrir e renomea-los.
  3. Pode-se, pelo programa, criar novas pastas, com a opcao de “arrastar” oq quiser para dentro… como no windows faz, mas dentro do programa Java.

Pesquisei algo mas nao encontrei oq queria… na verdade estou perdido. Nao entendo como o Java vai fazer tal suporte aos comandos do Windows, como criacao de pastar, renomear arquivos, organizá-los…

Os tocados de videos e musicas pelo Java até que tenho ideia como faz, tranquilo, mas como disse, a parte da varredura de “todas” as musgas e vídeos pelo HD e tal nao entendo como…

Alguem por favor tem alguma dica ou ajuda… eh urgente.

Obrigado pela atenção.

Joao Paulo
MSN: jopss@hotmail.com
:stuck_out_tongue:

Cara, a parte de buscar propriamente dita você vai usar muita lógica, recursão e etc. Para verificar se é música ou vídeo, acho que pra não detonar muito com a performance você pode fazer verificando a extensão mesmo. Crie, por exemplo, um ArrayList que contém extensões de arquivos de áudio e vídeo, então para cada arquivo encontrado, você verifica se a extensão existe na List.

Para manipular os arquivos você vai usar os objetos File.

Exemplos:

// criar uma pasta
File pasta = new File("minha_pasta_nova");
pasta.mkdir();

// criar novo arquivo
File arquivo = new File("meu_arquivo_novo.txt");
arquivo.createNewFile();

// e por aí vai

A principio, um método que retorne um vetor de unidades (C:, D:, E:, etc.) existentes, para não deixar nada para trás.

Uma varredura, é um trabalho extremamente lento, pois ele verifica arquivo por arquivo, então para não travar sua aplicação, a função varrer(unidades(N)) deverá ser implementada via thread.

cada arquivo varrido, tu pode pré-armazenar em uma string, verificando se é música por uma outra função, que poderiamos chamar de private boolean IsAudio(String fileName), a mesma implementaria algo como um if (fileName.endsWith(".mp3") || fileName.endsWith(".wav") … e por ai vai

:wink:

Vlw galera, implementei algo aqui, bem simples, mas listou os quero… pra quem estiver procurando ou quiser ver:

public static void main(String[] args) {
        try{
            //SO e Versao:
            String osName = System.getProperty("os.name");
            String osVersion = System.getProperty("os.version");
            System.out.println(osName+"  -  "+osVersion);
            
            //Versao JAVA
            String javaVersion = System.getProperty("java.specification.version");
            System.out.println(javaVersion);
            
            //Busca arquivos
            File c = new File("c:/");
            File[] roots = c.listRoots();
            File[] nomes = c.listFiles();
            
            System.out.println( "A unidade possui: " + c.listFiles().length +" arquivos/diretorios" );
            
            if (c.canRead() ) {
                for(int x = 0; x < roots.length; x++){
                    System.out.println( "Roots: " + roots[x].toString());
                }
                for(int y = 0; y < nomes.length; y++){
                    System.out.println( "tem: " + nomes[y].toString());
                    System.out.println( "--------------------------------");
                }
            } else {
                System.out.println("Drive inválido ou vazio...");
            }
        }catch(Exception ex){
            ex.printStackTrace();
        }
    }

Mas, o problema eh como faria pra “abrir” os arquivos no seu proprio diretório??? Abrir ele dentro do java é soh pegar o path e fazer oq quiser, mas como abrir ele no windows??? Quero abrir a “tela” do windows com o diretório… e como fazer para, criado um diretório, (pasta.mkdir), “arrastar” algo arquivos dentro dele e fazer com q o windows obedeça??

Vkw mesmo galera…

jopss :stuck_out_tongue: