Como pegar o nome do arquivo com \\?

1 resposta
K

Oi pessoal,
Minha duvida é a seguinte…
Eu consigo abrir um arquivo com JFileChooser, mas quando salvo o caminho numa string vem apenas com 1 barra “” entre um diretorio e outro. mas o Java só entende com 2 barras “\” tem algum metodo que eu possa pegar já com 2 ou transformar?
Dentro da string caminho ela está assim:
“Desktop\ICANT\IcantJava\zzzzzzzzzjetp.dat”
Mas, eu quero que ela fique assim:
“Desktop\ICANT\IcantJava\zzzzzzzzzjetp.dat”

eu tentei resolver de outra forma:

for (int i = 0; i < caminho.length(); i++) {

if(caminho.equalsIgnoreCase("\"")){// aqui o java não aceita apenas "\" para fazer a comparação.
    novoCaminho+=i+"\"";
}
else{
    novoCaminho+="\""+caminho.charAt(i);
}

Alguem pode me ajudar?
como posso resolver ese problema?

1 Resposta

Sami_Koivu

Olá,

Acho que há uma confusãozinha aqui. Java entende sim a barra simples em nomes de arquivos. Você só precisa as duas barras quando você está definindo um string literal (“blabla alguma coisa”) no seu código fonte (como no caso do código que você postou, para ter uma barra no String, você tem que escrever duas barras no código fonte). No conteúdo do String só vai ter uma barra.

Para exemplificar, rode esse código:

public class Barras {
	public static void main(String[] args) {
		String s =  "Desktop\\ICANT\\IcantJava\\zzzzzzzzzjetp.dat";
		System.out.println(s);
	}
}

Vai imprimir:

Caso você realmente tem algum outro motivo para precisar duplicar as barras, você poderia usar algo assim (assumindo que você está usando Java 1.5 ou maior):

String s =  "Desktop\\ICANT\\IcantJava\\zzzzzzzzzjetp.dat";
		s = s.replace("\\", "\\\\");
		System.out.println(s);

[]s,
Sami

Criado 10 de agosto de 2007
Ultima resposta 10 de ago. de 2007
Respostas 1
Participantes 2