isDirectory()
当文件夹名称包含特殊字符(如ó
or )时,我总是从方法中得到错误的返回ñ
。
Java 代码在 DOS 中运行良好,我在 NAS (Linux) 中执行 jar 时遇到问题。
public static void listarDirectorio(File f, String separador)
throws Exception {
File[] ficheros = f.listFiles();
File ficheroTratado = null;
for (int x = 0; x < ficheros.length; x++) {
ficheroTratado = null;
ficheroTratado = ficheros[x].getCanonicalFile();
if (!ficheroTratado.isDirectory()) {
System.out.println(
"Checking file: " + ficheroTratado.getName());
if (esBorrable(ficheroTratado.getName())) {
System.out.println(
"File can be erased: " + ficheroTratado.getName());
}
}else if (!ficheros[x].getName().startsWith("@")) {
String nuevo_separador;
nuevo_separador = separador + " # ";
listarDirectorio(ficheros[x], nuevo_separador);
}
}
}