Pessoal, estou com problema no meu programa.
Estou lendo de um arquivo txt com o seguinte caminho: diretorio principal = C:\Users\Syncrobot\Documents\Jornais
Daí quando vou nesse caminho meu programa dá erro.
Ele está com a barra invertida.
Tem como eu substituir no codigo a minha String?
Tipo, onde tiver barra invertida mudar para barra normal?
Eu normalmente não acharia que isso é um problema, porque se você usar:
String s = "C:\\Users\\Syncrobot\\Documents\\Jornais";
// Poderia ser: s = "/usr/SyncroBot/Documents/Jornais";
File f = new File (s);
para obter o diretório pai disso você, em vez de usar “indexOf”, usaria:
File diretorioPai = f.getParent();
e para obter o nome do arquivo usaria:
String nomeArquivo = f.getName();
sem usar indexOf ("/") ou indexOf ("\"). OK?
Não deu certo entanglement.
No meu programa o usuário precisa escolher um diretório.
Eu salvo o caminho do diretório num arquivo txt.
Depois quando vou buscar esse caminho meu programa dá erro pq as barras estão invertidas.
Bom, meu código está assim:
escolherDiretorio.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
JFileChooser fc = new JFileChooser();
// restringe a amostra a diretorios apenas
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int res = fc.showOpenDialog(null);
if(res == JFileChooser.APPROVE_OPTION){
//pega o nome do diretorio
File diretorio = fc.getSelectedFile();
//pega o caminho do diretorio escolhido
m_caminhoDiretorio = diretorio.getAbsolutePath();
//salva o caminho do diretorio escolhido no metodo salvarDiretorio
system.salvarDiretorio(m_caminhoDiretorio);
}
}
);
Eu tentei usar o seu exemplo, mas ele não tá pegando o diretório correto.
Será que tem outra solução pra esse problema?
Seria isso?
System.out.println("\\".replace("\\", "/"));