Test Scores and Summary Statistics from a file
Some general issues first:


Indent methods and method blocks. Makes your code more readable
Avoid resource leaks. Close the Scanners in a finally block.


This program has only one method. Split the functionality into many small methods, one for each purpose. For example: reading the scores from the file. This is easy to extract as a method:

    int[] scores = readScoresFromFile(fileName);


...

private static int[] readScoresFromFile(String fileName) throws FileNotFoundException {
    File inputFile = new File(fileName);
    Scanner data = new Scanner(inputFile);
    try {
        //declaring that whatever the first number in the document is is how many indices the document has
        int scores[] = new int[data.nextInt()];

        int i = 0;
        while (data.hasNext())
        {
            scores[i] = data.nextInt();
            i++;
        }

        Arrays.sort(scores);
        return scores;
    }
    finally {
        data.close();
    }
}


I also added the finally block, so the Scanner gets closed. data is a bad name (it could by anything), so let's call it just scanner. Simple and understandable. The method is still too long, so I'd extract one more method, so that the try{} block contains just readScoresFromScanner(scanner);.

As you are using arrays, you need to know the total number of scores in advance. That's not necessary. Collections make your life easier. Assuming you remove the number-of-scores from your input file, you can write:

private static List&lt;Integer&gt; readScoresFromScanner(Scanner scanner) {
    List&lt;Integer&gt; scores = new ArrayList&lt;&gt;();
    while (scanner.hasNext())
    {
        scores.add(scanner.nextInt());
    }
    Collections.sort(scores);
    return scores;
}


Of course, now you need to make some changes to the rest of the code. It will make the code more readable:

    List&lt;Integer&gt; scores = readScoresFromFile(fileName);
    //Highest and Lowest score
    System.out.println("Lowest score: " + Collections.min(scores));
    System.out.println("Highest score: " + Collections.max(scores));


With good refactoring, the comments become unnecessary:

    System.out.println("Mean score: " + calculateMean(scores));


The method becomes very understandable; consider using enhanced loops:

private static double calculateMean(Collection&lt;Integer&gt; scores) {
    double gradesTotal = 0;
    for (int score : scores) {
        gradesTotal = gradesTotal + score;
    }
    return gradesTotal / scores.size();
}


With Java 8, you can also write:

private static double calculateMean(Collection&lt;Integer&gt; scores) {
    return scores
        .stream()
        .mapToInt(Integer::intValue)
        .average()
        .getAsDouble();
}


The code that sums up the grades is very verbose and redundant; try to avoid if-else chains and replace them with, for instance, loops. Use an array or list instead of gradeA, gradeB, etc. A hint:

private static int gradeByScore(int score) {
    int[] scoreForGrade = { 90, 80, 70, 60 };
    for (int grade = 0; grade &lt; scoreForGrade.length; grade++) {
        int requiredScore = scoreForGrade[grade];
        if (score &gt;= requiredScore) {
            return grade;
        }
    }
    return 4; // grade F
}