0

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);
        }
    }
}
4

0 回答 0