Это ошибка в java jdk?

Когда я получил класс java.lang.File с кодомFile file = new File("e:/");Конечно, я получил класс File, представляющий каталог e: \.

Но если я получил класс File с кодомFile file = new File("e:"); и я просто в приводе E :, то я получил класс File, представленный текущим каталогом.

Предположим, я нахожусь в каталоге E: \ dir \, и в этом каталоге есть файл с именем Test.java. Это содержание:

import java.io.File;
public class Test {
    public static void main(String[] args) {
        File file = new File("e:"); 
        File[] files = file.listFiles(); 
        for(File f: files){ 
            System.out.println(f + " " + f.exists()); 
        }
    }
}

Откройте инструмент cmd и перейдите в каталог e: \ dir, выполните в нем следующую команду:

E:\dir> javac Test.java
E:\dir> java Test

Я получил:

e:\Test.class false
e:\Test.java false

Это ошибка Java JDK?

Дополнительная информация от @JimGarrison:

Я запускал этот код

public class Foo3
{
    public static void main(String[] args)  throws Exception
    {
        File f = new File("D:");
        System.out.println(f.getCanonicalPath());
        for (File x : f.listFiles())
            System.out.println(x + " " + x.getCanonicalPath() + " " + x.getAbsolutePath() + " " + x.exists() + " " + x.getAbsoluteFile().exists());
    }
}

в Eclipse (который живет на моем диске D:) и получил следующий вывод:

D:\dev\src\pdxep
D:\.classpath D:\dev\src\pdxep\.classpath D:\dev\src\pdxep\.classpath false true
D:\.project D:\dev\src\pdxep\.project D:\dev\src\pdxep\.project false true
D:\.settings D:\dev\src\pdxep\.settings D:\dev\src\pdxep\.settings false true
D:\gallery D:\dev\src\pdxep\gallery D:\dev\src\pdxep\gallery false true
D:\pom.xml D:\dev\src\pdxep\pom.xml D:\dev\src\pdxep\pom.xml false true
D:\src D:\dev\src\pdxep\src D:\dev\src\pdxep\src false true
D:\target D:\dev\src\pdxep\target D:\dev\src\pdxep\target false true

Что подтверждает, что происходит что-то смешное.

ДжаваОшибка 8130462 Похоже, что это связано с относительными и абсолютными путями, особенно в Windows.

Ответы на вопрос(0)

Ваш ответ на вопрос