当文件夹名称包含特殊字符时,文件isDirectory()方法始终返回false

时间:2013-10-07 15:08:39

标签: java linux

当文件夹名称包含isDirectory()ó等特殊字符时,我总是从ñ方法获得错误回报。

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

0 个答案:

没有答案