I do not know the Java or .Net native libraries that will do what you want. JavaSound can read / write WAV files natively, just Google for JavaSound. There are many examples at jsresources.org . Tritonus and JLayer are extensions that help in things like reading MP3 files, and are pretty standard. There are also many questions about how to do this, so I will not talk anymore.
The only high-quality open source library that I know about that does the processing you need, aubio , written in C. There are, of course, commercial options, one of which was mentioned in another answer, and EchoNest, the API that does this kind of analysis online on request. There may be other options, but this is a specialized area, so there are probably not many other options.
source share