Most Helpful Guy
You have two choices.
Leave him, or warn him you're going to.
One day, sit down with him and tell him if he doesn't have a straight conversation with you then you're leaving him. If he doesn't oblige or even try then he doesn't care. Leave him.
If he does try, then explain how you feel and what you've experienced. He will likely get angry but as long as he doesn't let it out on you it's fine.
Give it a few weeks and if you see improvement then stay with him (so long as those improvements remain).
Otherwise, why stay with him?
Most Helpful Girl
There must be a problem with your boyfriend if he finds fault in everything you do. Unless it just feels that way to you. Seriously, sit down, alone, where it's quiet and think about it. If this is truly the case then my feeling is that your boyfriend's problem is himself. He has a very poor self image of himself, and by getting mad at you, he makes himself feel better. There are a few solutions:
1. Continue as is and that hope that it will improve (which it won't).
2. See if you can talk it out and go to counseling if he's open to it.
3. If you can’t work it out and he continues his behavior, I would break off the relationship. No one has the right to be treated like this. Find a healthy person to have a relationship with and move forward.