Winflex:
public class Test {
public static void isFile() {
System.out.println(new File("D:\\a.log").isFile());
}
public static void main(String[] args) {
System.out.println(new File("D:\\a.log").isFile());
isFile();
}
}
El resultado esperado es:
true
true
pero en realidad el resultado es:
false
true
El archivo D: \ a.log es en realidad existe y la ruta es correcta, la versión JDK 1.8.0_11 es, y el sistema operativo es win10
¿Cómo entender esto ??
Erwin Bolwidt:
La cadena "D:\\a.log"
dentro del main
método tiene 9 caracteres, el uno en el isFile
método tiene 8 caracteres.
El uno dentro del main
método comienza con invisibles caracteres Unicode U + 202A ( "IZQUIERDA A DERECHA EMBEDDING").
Vuelva a colocar el interior de cadena main
con el interior de cadena isFile
, o eliminar el primer carácter invisible desde la cadena en main
.
(Nota: Esto muestra el beneficio real de copiar y pegar el código real, ya que el problema está en el código que ha pegado en su pregunta anterior)