Может быть, вы могли бы уточнить ваш вопрос. Вы просто хотите отправить файл удобным способом? Тогда я настоятельно рекомендую какой-нибудь стандартный протокол, такой как SSH File Transfer Protocol . Это гораздо предпочтительнее использования некоторого собственного кода, позволяет использовать существующие твердотельные библиотеки и облегчает взаимодействие с другим программным обеспечением.
Так как вы задали вопрос о программе для сокетов: это домашний вопрос? В этом случае я бы посоветовал вам прочитать Javadocs для класса SocketChannel и немного погуглить, например, код, использующий его. Если у вас все еще есть проблема, опубликуйте еще один вопрос с специфической вещью, которую вы не понимаете, и мы, вероятно, поможем: -).