It is almost impossible to make html input file elements look the same as the other parts of web applications. Browsers provide few possibilites to style them or nothing at all. However, within the newer versions of browsers, you might apply some tricks to alleviate this common styling problem, and one neat way, explaining how to style input file elements, is here.
We have already made use of this neat trick in out JSF based web application while manipulated it a little bit to fit our current styling needs. The end result was very satisfying in terms of our customer.