There is no .proto parser in Java. However, you can use protoc's --descriptor_set_out flag to generate a FileDescriptorProto representing the file (or use FileDescriptor::CopyTo() in C++). This is a protocol buffer representation of everything defined in the .proto. In Java, you can then:
1) Parse the FileDescriptorProto.
2) Construct a FileDescriptor from it.
3) Use FindMessageTypeByName() on the FileDescriptor to get a Descriptor for the type you are interested in.
4) Construct a DynamicMessage from that.