I don’t like Java’s File API. It’s main problem is that is mixes several responsibilities into one class. One responsibility is handling of “abstract” file and path names, i.e. operating system independent file names. The other responsibilities are all file system related: Querying file meta information (access rights, access times, file type), creating files, and listing directory contents. In my opinion these should be clearly separated.
I am also missing a constructor or construction method that creates a File instance from a list of path components like this:
File f = new File("/", "path", "to", "file");
Maybe I should start a Java warts page, similar to my Python warts page …