Instanciar arquivo

4 respostas
Guilherme_Gomes

Bom dia,

Alguém sabe um jeito de eu receber uma instancia de uma classe, na verdade eu só quero o Class dela, através do .java ou .class?

Ou seja, vou receber um caminho, por exemplo:
/var/arquivos/java/work/com/tests/Processador.java ou
/var/arquivos/java/work/com/tests/Processador.class, tanto faz
E se no meu código eu confirmar que esse arquivo existe, quero criar uma instancia Class dessa classe, tem como?

Obrigado,

4 Respostas

ddduran

Você pode resolver qualquer classe por nome.

só você fazer uma jogada (to com preguiça de fazer) com substring ai fazer assim

Object minhaInstancia = Class.forName(nomeDaMInhaClasseMaisPacote).newInstance();

Mas só ate o forName já serve pro que você quer.

Só uma pergunta não seria mais facil fazer assim?

File f = new File(nomeDoArquivo);
if(f.exists())
Guilherme_Gomes

Entendo sua duvida, mas você não entendeu a minha ^^

Para o jeito que você fez funcionar, a classe tem que fazer parte da aplicação, ou estar no classpath… O que quero não tem nada a ver com isso. É apenas listar um arquivo mesmo, que está no SO e “criar” um Class a partir dele…

ddduran

Então mais facil ainda, só ir usando a classe file e ir listando os arquivos, ai você pode compilar tudo que terminar com .java

ou fazer outra coisa sei la :slight_smile:

tem um tutorial aqui no GUJ de como adicionar arquivo jars no “path” dinamicamente, talvez te ajude ou der inspiração

Guilherme_Gomes

Ok, vou dar uma olhada nesse tutorial…

Se alguem souber de alguma coisa pra facilitar esse trabalho, por favor poste ^^

Criado 6 de dezembro de 2007
Ultima resposta 6 de dez. de 2007
Respostas 4
Participantes 2