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