Question: When I create a File object like

```
File f = new File("c:")

```

and then call the method `isDirectory()`, it returns `true`. **Why is that?**

The program is suppose to show all files in that directory and works fine except when Im using the "c:". It is not accessing "c:\", not the home path, but the directory the program is executing from. I really don't understand.

Answer: 
This is an interesting question. I'll try to expand on your question (questions should always come with an SSCCE whenever possible)...

Take this code for example:

```
public class Main{

 public static void main(String[] args){
        File f = new File("C:\\");
        System.out.println("C:\\ is directory: " + f.isDirectory());
        System.out.println("C:\\ exists: " + f.exists());
        System.out.println("C:\\ absolute path: " + f.getAbsolutePath());
        System.out.println();

        f = new File("C:");
        System.out.println("C: is directory: " + f.isDirectory());
        System.out.println("C: exists: " + f.exists());
        System.out.println("C: absolute path: " + f.getAbsolutePath());
        System.out.println();

        f = new File("X:");
        System.out.println("X: is directory: " + f.isDirectory());
        System.out.println("X: exists: " + f.exists());
        System.out.println("X: absolute path: " + f.getAbsolutePath());
        System.out.println();
    }

```

}

(Note that I do have a C: drive, I do not have an X: drive)
This results in this output: 

C:\ is directory: true
C:\ exists: true
C:\ absolute path: C:\

C: is directory: true
C: exists: true
C: absolute path: C:\Users\kworkman\Desktop\Tests

X: is directory: false
X: exists: false
X: absolute path: X:

So it seems to handle the C:\ correctly, but C: by itself results in strange output for a directory that doesn't actually exist. This is made stranger because it seems to handle the X: case correctly.
Try `C:\` instead.

```
File f = new File("C:\\");
System.out.println(f.getAbsolutePath());
System.out.println(f.isDirectory());
System.out.println(f.isFile());

```

Output:

```
C:\
true
false

```