Help me in getting the desired output

I wanted to put "|" this sign at starting and at end of every field but its not working with first field like

Currently the out put is :
abc | abc | abc |
xyz | xyz | xyz |

But I want the out put in this form:

| abc | abc | abc |
| xyz | xyz | xyz |

plz help me.

 
awk ' { printf("| %s | %s | %s |\n", $1, $2, $3) }'  infile >  outfile
awk '{print "|" $0' file

or

sed 's/.*/|&/' file

Regards