grant execute on utl_file to user in Oracle 11g XE sqlplus connect &lt;sys&gt;/&lt;pwd&gt;
grant execute on utl_file to &lt;user&gt;
connect &lt;user&gt;/&lt;pwd&gt;
DESC utl_file


then i get:
ORA-24372: invalid object for describe

How can I access to UTL_FIL from other users in 11g xe? I already tried with public as well
The grant worked just fine. You can't DESC a package or procedure, which is why you're getting an error.

Documentation for UTL_FILE is here. It provides sample PL/SQL that shows you how to use the package.

A short code snippet that sums up its functionality is here.