jdk (java.io.File) does not need any authentication information.
Unless you're only going to be using 'GUEST' or 'null' credentials you
will always need credentials to be entered regardless of what type of
application you're using wheather it be Java, .NET, or whatever. It's
just a matter of *when* you supply the credentials. Windows is nice
because you can enter the credentials, establish a logon session, and
delegate those credentials to other threads and servers. So once you
enter your creds they're inherited by children and can be deligated to
other servers that that process logs into.
So the java.io.File class simply calls the underlying file system
operations which use whatever credentials are associated with the current
process. Those credentials need to be entered at some point (e.g. when
the user logs in).
Note that that has a severe disadvantage that the process must run under the credentials required to access the network resource.