Existe alguma classe em java que reconheça quando eu Conecto um Pen drive?
7 respostas
G
gustavotorquato
Ola pessoal, estou com uma duvida que provavelmente vai ser um pouco complicada de resolver. Estou fazendo um sistema de estoque, e gostaria de colocar o acesso ao sistema, ou seja o local onde geralmente voce coloca seu login e sua senha, por meio de um pen drive. A logica seria mais ou menos assim:
usuario entra no sistema e aparece uma tela de login e senha
o usuario tem a opçao de inserir o usuario e a senha, ou plugar um pen drive que tenha essas informações.
no pen drive, colocarei um arquivo criptografado com as informaçoes de login do usuario.
assim que o usuario plugar o pen drive, o sistema vai detectar um novo hardware e vai tentar acessa-lo para buscar as informaçoes do login do usuario
depois de autenticado, o usuario entra no sistema
Este tipo de acesso ja vem sendo utilizado pelo banco do brasil, onde pra voce acessar um certo local do site, voce tem que plugar um token, ou um cartao.
Não existe esse suporte no Java. Talvez em alguma API externa.
G
gustavotorquato
Obrigado, talvez eu queira de mais mesmo, kkkkk, tava vendo alguns aplicativos em Delphi e outras linguagem que fazem isso, ai eu gostaria de saber se java tem esse suporte, infelizmente ainda nao. Muito Obrigado.
Eu acabei baixando um driver que transformava as USBs de alguns dispositivos numa porta serial, e detectei as USBs pela biblioteca javax.comm. Mas, infelizmente, parte da javax.comm também foi descontinuada (em especial as versões para Windows).
Eu acabei baixando um driver que transformava as USBs de alguns dispositivos numa porta serial, e detectei as USBs pela biblioteca javax.comm. Mas, infelizmente, parte da javax.comm também foi descontinuada (em especial as versões para Windows).
eu tava funçando aqui a net e axei o javax-usb, to lendo agora, vlw.
G
gustavotorquato
cara, eu estava vendo agorinha uma pagina aqui do guj mesmo, falando sobre mapear a raiz de diretorios, tipo, se voce conecta um dispositivo ele assume uma letra, que é o caminho dele. Ai vem a logica: Eu peço para o aplicativo de tempo em temo mapear a raiz e fazer o teste com cada dispositivo mapeado, se o dispositivo tiver o arquivo que eu to procurando ai ele da uma mensagem e entra no sistema. Nao sei se tem jeito. O unico problema é que eu fechei a pagina e nao to encontrando o artigo de novo, kkkkkk
A cada laço do For, é trazido uma letra de alguma partiçao do seu computador, seja hd( geralmente C:, ou D:) ou pen drive (geralmente G:, ou J:), enfim. A cada laço eu pego essa letra retornada e uso como endereço para ser verificado se existe o arquivo que eu procuro. Logicamente utilizarei uma thread para ficar fazendo o processo de tempo em tempo na minha tela de login, se o pen drive estiver plugado, ele vai ser detectado, entao o programa vai procurar o arquivo dentro do pendrive. Encontrando o arquivo, aparecerá uma mensagem de usuario logado, e ele entra no sistema;
Se alguem tiver uma ideia legal ou um codigo, pode mandar, qualquer coisa ajuda. Obrigado.
D
dcsilva
Com essa classe você conseguirá detectar qualquer unidade que seja inserida no seu pc.
System.out.println("FindDrive: waiting for devices...");//loopindefinitelywhile(true){//checkeachdrivefor(inti=0;i<letters.length;++i){booleanpluggedIn=drives[i].canRead();//ifthestatehaschangedoutputamessageif(pluggedIn!=isDrive[i]){if(pluggedIn)System.out.println("Drive "+letters[i]+" has been plugged in");elseSystem.out.println("Drive "+letters[i]+" has been unplugged");isDrive[i]=pluggedIn;}}//waitbeforeloopingtry{Thread.sleep(100);}catch(InterruptedExceptione){/* do nothing */}}}