Second time i read dir arduino halts

There are several problems. The most serious is

 String files [1][3];

may used with bad indicies here:

    files[j][i]=ename;

It looks like j could be one and i could be three.

Another problem is that the File wrapper for SdFat uses malloc so this assignment causes a memory leak unless you close entry.

    entry =  root.openNextFile();

I didn't write the SD.h wrapper so you you nee to post this problem on the Arduino issues site.

There are other problems like you using the SD object and Sd2Card and SdVolume. SD already has an instance of Sd2Card and SdVolume.

I stopped looking after I found these problems.