No codigo abaixo preciso fazer a implementação do File para o path mas eu vi que o File apenas aceita um Object e não um String, como faço a conversão para que o meu String vire um objeto que o File aceite?
Cara, acho que não entendi muito bem a sua dúvida ou o propósito disso, mas se você quer um objeto File e só possui o path para o arquivo, simplesmente basta você instanciar um tipo File. Ele possui um construtor que aceita o path para o arquivo que você deseja.
Isso não resolve os seus problemas?
[]'s.
luistiagos
String E UM OBJETO… String é uma classe que herda (assim como todas as outras…) de Object então String é um Objeto…
no seu problema basta fazer isto:
Filearquivo=newFile(path);
Guilherme_Gomes
kaique:
Cara, acho que não entendi muito bem a sua dúvida ou o propósito disso, mas se você quer um objeto File e só possui o path para o arquivo, simplesmente basta você instanciar um tipo File. Ele possui um construtor que aceita o path para o arquivo que você deseja.
Isso não resolve os seus problemas?
[]'s.
Traduzindo:
Stringpath="/papelparede/java.jpg";Filefile=newFile(path);//funções que irão ajudar:if(file.exists()){System.out.println("existe");if(file.isFile())System.out.println("Arquivo");elseSystem.out.println("Diretório");}else{System.out.println("não existe");}
Nesse caso, B só poderia ter cast para I, pois ele implementa essa interface e para A, que é a classe mãe.
Se A for outra classe que não Object, vc pode fazer pra tudo o que ele implementar e a classe mãe dele, terminando em Object.
cardosodario
Desculpem se não consegui ser muito claro
To querendo implementar este trecho
Onde File newFile = (File) evt.getNewValue();
Eu não tenho o evt.getNewValue(); mas tenho o path “/imagens/x.gif” que é o evt.getNewValue().toString();
Então eu teria que substituir o evt.getNewValue(); pelo path mas ele diz que os tipos são incompativeis ai vi que o evt.getNewValue(); é um objeto.
Tudo isto para fazer o BufferedImage img = ImageIO.read(newFile); funcionar
Alguém tem uma ideia?
Dario.
FilenewFile=(File)evt.getNewValue();if(newFile!=null){Stringpath=newFile.getAbsolutePath();if(path.endsWith(".gif")||path.endsWith(".jpg")||path.endsWith(".png")||path.endsWith(".bmp")||path.endsWith(".GIF")||path.endsWith(".JPG")||path.endsWith(".PNG")||path.endsWith(".BMP")){try{BufferedImageimg=ImageIO.read(newFile);floatwidth=img.getWidth();floatheight=img.getHeight();floatscale=height/width;width=maxImgWidth;height=(width*scale);// height should be scaled from new width icon=newImageIcon(img.getScaledInstance(Math.max(1,(int)width),Math.max(1,(int)height),img.SCALE_SMOOTH));}catch(IOExceptione){// couldn't read image.}}}
peczenyj
Quais são os construtores da classe File ?
jgbt
Como ja foi explicado, vc so pode fazer cast para objetos que sejam do mesmo tipo, que passem no teste “é um”…
No seu caso, isso resolve:
FilenewFile=newFile("path do arquivo, nao importa de onde tenha vindo");
vc deve ter copiado o codigo de algum lugar, e como vc não tem o evtgetNewValue(),deve ser um evento do swing, vc nao pode fazser da mesma maneira.
Nesse codigo, o evt.getNewValue() deve retorna um Objeto File, por isso o cast funcionaria.
Fica como dever de casa vc entender pq isso acontece.