ibm deveoper works has a java library for working with usb also there are other open source components.