Galera preciso falar uma coisa aqui meio doido e não estou tendo um ideia de como fazer isso. Vou tentar explicar pra vê se alguem ai pode me ajudar.
tenho essa String: String nomeArquivo = "C:/Documents and Settings/student/Desktop/TesteB.zip";
; preciso pegar a extensão do arquivo, isso foui facil fiz: String extensao = nomeArquivo.substring(nomeArquivo.length() - 3);
. Mas agora preciso pegar apenas o nome do arquivo exemplo: “TesteB”, sem a extensão e sem o resto do endereço. Aquem ai tem uma idéia?
Grato…
existe um método chamado lastIndexOf na classe String :thumbup:
da um split pelo separator e pega a última ocorrência do vetor de Strings resultante, e depois separa a substring menos os 3 últimos dígitos, ou fazer outro split pelo ponto e pegar a primeira ocorrência.
Obs: o código abaixo não foi compilado, pode ter coisas erradas;
ex:
String[] arq = nomeArquivo.split(File.SEPARATOR);
String nomeTotal = arq[arq.length];
nomeTotal = nomeTotal.substring(0, nomeTotal.length() - 3);
ou
nomeTotal = nomeTotal.split(".")[0];
String nomeArquivo = "C:/Documents and Settings/student/Desktop/TesteB.zip";
// pegar a extensão
nomeArquivo .substring(nomeArquivo .lastIndexOf("."), nomeArquivo .length());
// pega só o nome do arquivo.
nomeArquivo .substring(nomeArquivo .lastIndexOf("/"), nomeArquivo.lastIndexOf("."));
não testei, talvez tenha problemas na ER, pois usa “.” e “/”
é só mudar, ai fica com vc
abraços
Experimenta isso…
String nomeArquivo = "C:/Documents and Settings/student/Desktop/TesteB.zip";
File fl = new File(nomeArquivo);
String nomeExtensao = fl.getName();
String nomeSemExtensao = nomeExtensao.substring(0,nomeExtensao.indexOf('.'));
String somenteExtensao = nomeExtensao.substring((nomeExtensao.indexOf('.') + 1),nomeExtensao.length());
Muito obrigado leopoldof , e também muito obrigado a todos os outros que se preocupou em me ajudar. Esse Grupo é simplesmente nota MIL. parabens a todos. Valew