Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当文件夹名称包含特殊字符时,File isDirectory()方法始终返回false_Java_Linux - Fatal编程技术网

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

Java 当文件夹名称包含特殊字符时,File isDirectory()方法始终返回false,java,linux,Java,Linux,当文件夹名包含特殊字符(如o或ñ)时,我总是从isDirectory()方法得到错误的返回 Java代码在DOS中运行良好,我在NAS(Linux)中执行jar时遇到问题 publicstaticvoidlistardirectio(文件f,字符串分隔符) 抛出异常{ 文件[]ficheros=f.listFiles(); 文件ficherotradado=null; 对于(int x=0;x

当文件夹名包含特殊字符(如
o
ñ
)时,我总是从
isDirectory()
方法得到错误的返回

Java代码在DOS中运行良好,我在NAS(Linux)中执行jar时遇到问题

publicstaticvoidlistardirectio(文件f,字符串分隔符)
抛出异常{
文件[]ficheros=f.listFiles();
文件ficherotradado=null;
对于(int x=0;x
请包括您的代码。您使用的是什么JDK?您如何在NAS上执行代码的可能重复?您的意思是在连接到nAS的存储上的某个系统上运行它吗?什么系统?Mureinik我正在用eclipse在Windows中开发java版本“1.7.0_25”
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);
        }
    }
}