You will need some application running on the destination system in either case. URLConnection can be used to interact with HTTP and FTP servers. You can build your own application with Sockets. Another option is to use operating system functionality like Windows shares and Unix NFS to access remote drives as if they were locally mounted. It really depends on your requirements (what you can and cannot do with the systems).