Saltar al contenido

División de nombres de archivos mediante el símbolo separador de archivos del sistema

Solución:

El problema es ese tiene que ser escapado para poder usarlo como barra invertida dentro de una expresión regular. Debería utilizar una API de división que no use expresiones regulares, o use Pattern.quote primero:

// Alternative: use Pattern.quote(File.separator)
String pattern = Pattern.quote(System.getProperty("file.separator"));
String[] splittedFileName = fileName.split(pattern);

O incluso mejor, use el File API para esto:

File file = new File(fileName);
String simpleFileName = file.getName();

Cuando escribe un nombre de archivo, debe usar System.getProperty("file.separator").

Cuando lee un nombre de archivo, es posible que tenga la barra inclinada hacia adelante o hacia atrás como separador de archivos.

Es posible que desee probar lo siguiente:

fileName = fileName.replace("\", "https://foroayuda.es/");
String[] splittedFileName = fileName.split("https://foroayuda.es/"));
String simpleFileName = splittedFileName[splittedFileName.length-1];

Otra forma más sencilla podría ser hacer

File f = new File(path);
String fileName = f.getName();

Creo que esto funcionará siempre que las rutas sean compatibles con la plataforma, es decir, no estoy seguro de si la ruta “c: file.txt” funcionará en Linux o no.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *