Galera, tenho o seguinte valor na String: C:\fakepath\logica.pdf
Gostaria de pegar apenas o nome do arquivo, depois do “” (logica.pdf)
Como faria isso?
Pegar o final da String
4 Respostas
Chuvinha
Tem duas opções…
1 -
String texto = "C:/fakepath/logica.pdf ";
System.out.println(texto.substring(texto.lastIndexOf("/") + 1));
2- Se você estiver usando file
File file = new File("C:/fakepath/logica.pdf");
String fileName= file.getName();
Isso ai que você quer?
você pode fazer assim:
[code]
public class TesteString {
public static void main(String[] args) {
String teste="asg\\arvuivo.pdf";
String arquivo=teste.substring(teste.lastIndexOf("\\")+1);
System.out.println(arquivo);
}
}
[code]
Cara uma alternativa é tokenizar…
package strings;
public class StringTest {
public static void main(String[] args) {
String path = "C:\\fakepath\\folder.pdf";
String[] tokens = path.split("\\");
String file = tokens[tokens.length - 1];
}
}
Separando essa string path nos backslashes tu ficaria com três strings, como tu quer sempre pegar a última é só pegar o tamanho e diminuir 1.
O problema é que eu não sei porque mas não ta aceitando “\” no path.split(), ai eu não sei como separar nas barras.
Att. Lucas
Deu certo.
Meu codigo ficou assim:
if(nomeArquivo.contains("\\")){
String nome2 = nomeArquivo.substring(nomeArquivo.lastIndexOf("\\") + 1);
System.out.println("contém");
System.out.println("nome2 = "+nome2);
}else{
System.out.println("não contém");
}
Obrigado galera =))
Abraço