Cosine Similarity on Huge Dataset
I'm not familiar with the algorithm you've implemented. So I cannot point to improvements there. But some things in the code can be enhanced.



Use informative error messages. For instance, instead of: 

    ...
    } catch (FileNotFoundException e) {
        System.out.println("file was not Found!");
    }
    ...


consider something like:

    ...
    } catch (FileNotFoundException e) {
        String detailedMessage = 
               format("File [%s] was not found. Reason was [%s]!", "movies.dat", e.getMessage());
        // BTW "movies.dat" can be extracted into constant.
        System.out.println(detailedMessage);
    }
    ...


In the latter snippet you can see that error message includes detailed info about what really happened. And please note [] that surround variable data: such placeholders not only help to see corner cases in log (for example, when empty name of input file was specified by mistake) but do grep (or any other text search) efficiently.



Consider try-with-resources. That will reduce amount of boilerplate code when dealing with readers.



Move parsing logic, e.g.:

...
String[] tokenDelimiter = readFile.split("\\|");
String userID = tokenDelimiter[0];
String movieID = tokenDelimiter[1];
double rating = Double.parseDouble(tokenDelimiter[2]);
...


into separate helper method like it's already done for computeCosineSimilarity().



After all "little" improvements are done you will see the code more clearly. Then you can concentrate on the algorithm (e.g. on pure logic), add checks for corner cases (like empty input file), use strict math for floating point numbers, handle encoding of input files gracefully, improve overall processing speed for large files, etc.