Pegar o final da String

4 respostas
C

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?

4 Respostas

L

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?

O

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]

L

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

C

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

Criado 7 de janeiro de 2011
Ultima resposta 7 de jan. de 2011
Respostas 4
Participantes 4