private static void identifySeparator(File fname) {
        separators.put(",", new int[2]);
        separators.put(";", new int[2]);
        separators.put(":", new int[2]);
        separators.put("|", new int[2]);
        separators.put("\t", new int[2]);
        separators.put(" ", new int[2]);
        java.io.BufferedReader fin;
        try {
            fin = new java.io.BufferedReader(new java.io.FileReader(fname));
            String record;
            int n = 0;
            while ((record = fin.readLine()) != null) {
                record = compressBlanks(record);
                if (record.length() == 0) continue;
                countSeparators(record);
                deleteInvalidSeparators(n);
                n++;
                if (n > 100 || separators.size() == 0) break;
            }
            if (separators.size() == 0) {
                if (n == 1) {
                    separator = "";
                    nCols = 1;
                }
            } else {
                Object[] keys = separators.keySet().toArray();
                separator = (String) keys[0];
                nCols = 1 + ((int[]) separators.get(separator))[1];
            }
            fin.close();
        } catch (java.io.IOException ie) {
            System.err.println("I/O exception in computeVariableTypes");
        }
    }