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)