fala galera blz. usei um JFileChooser para procurar uma imagem no micro.
eu precisaria q o caminho do arquivo tivesse o seguinte formato:
C:\Nova Pasta\nova\arquivo.jpg
tem como eu fazer isso usando algum metodo do JFileChooser ou preciso fazer um metodo na mão mesmo, e c eu tiver q fazer na mão como consigo comparar a \ pq da erro comparar esse caracter;
opa, blz andrertd?
seguinte, mesmo que vc use o “/” o java vai encontrar seu arquivo, mas acho que pra conseguir o “\” vai ter que ser no braço, mas pesquise sobre isso. sobre como comparar faça if(string.equals("\")).
E
Eduardo_de_Andrade
olá andrertd
Você quer comparar o caminho que o usuário escolheu com um que você definiu?
O usuário só pode escolher o “arquivo.jpg” no diretório que você definiu acima certo?
Tenta então comparar dessa forma:
StringcaminhoEsperado="F:\arquivo.jpg";StringdiretorioPadrao="F:\";JFileChooser jfc = new JFileChooser(diretorioPadrao);if (jfc.showSaveDialog(null) == jfc.APPROVE_OPTION) { String path = jfc.getSelectedFile().getAbsoluteFile().getAbsolutePath(); if (path.equals(caminhoEsperado)) { System.out.println("ok,estánocaminhoesperado."); } };
O \ é automaticamente transformado em \ quando vai para String.
A
andrertd
vou tentar explicar melhor.
O usuario selecionara uma imagem atraves do JFileChooser e me retornara o caminho absoluto da imagem tipo assim C:\Nova Pasta\arquivo.jpg só q eu tenho q mudar o caminho usando 2 barras "\\" no lugar de uma.. pq o ireport não aceita apenas uma barra e da erro e ficaria assim: C:\\Nova Pasta\\arquivo.jpg
fiz esse codigo:
Filediretorio=this.selecionar.getSelectedFile();Stringcaminho=diretorio.getAbsolutePath();StringnovoCaminho="";for(inti=0;i<caminho.length();i++){if(caminho.charAt(i)=='só q o [code]caminho.charAt(i) == 'nãoaceitaessacomparação,estádandoerro..alguemteriaumjeitomaisfacildefazeressamudança??){novoCaminho=novoCaminho+"\";}else{novoCaminho=novoCaminho+caminho.charAt(i);}}
só q o
caminho.charAt(i) == '\'
não aceita essa comparação, está dando erro.. alguem teria um jeito mais facil de fazer essa mudança??[/code] não aceita essa comparação, está dando erro.. alguem teria um jeito mais facil de fazer essa mudança??) {
novoCaminho = novoCaminho + "\";
}else{
novoCaminho = novoCaminho + caminho.charAt(i);
}
}[/code]
só q o
caminho.charAt(i) == '\'
não aceita essa comparação, está dando erro.. alguem teria um jeito mais facil de fazer essa mudança??
M
marcobiscaro2112
Ou simplesmente usa o ‘/’, que não é caracter de escape e funciona em outros sistemas operacionais, que não o Windows.