Since the code you show only appears to use dataList as an array, why not just use
string[] dataList = File.ReadAllLines(file);
instead of your first loop - it will be much faster.
Your second loop is harder to optimize - it depends on what the data actually looks like to an extent. I do notice though that you don't check at all to ensure there is enough room in the string to extract a substring - what happens if the line from the file is 20 characters? It may be worth using a foreach loop rather than the for loop as it would get rid of the array access each time (although the non-debug build would optimize this anyway).
Don't use magic numbers unless you have to - they are a maintenance nightmare!