Ola Galera, preciso fazer aqui na facul um buscador de vídeos e músicas do pc, no Windows XP, algo assim:
Varre e busque todas as musicas e vídeos do PC.
Elas ficam como um link, podendo abrir o local que está armazenado, ou pode pelo proprio programa abrir e renomea-los.
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.
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
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??