private static int[][] FileToWeightedGraphArray(String dat) {
        int[][] A = null;
        FileInputStream fis = null;
        try {
            fis = new FileInputStream(dat);
        } catch (Exception e) {
            System.out.println(dat + " konnte nicht geoeffnet werden");
            System.out.println(e.getMessage());
        }
        try {
            InputStreamReader isr = new InputStreamReader(fis);
            BufferedReader br = new BufferedReader(isr);

            // Knotenanzahl lesen
            String einZeile;
            einZeile = br.readLine();
            int n = new Integer(einZeile);

            // Kantenanzahl lesen
            einZeile = br.readLine();
            int m = new Integer(einZeile);
            A = new int[m + 1][3];

            // Knoten- und Kantenanzahl -> Array
            A[0][0] = n;
            A[0][1] = m;

            // Kanten lesen
            for (int i = 1; i <= m; i++) {
                einZeile = br.readLine();
                int sepIndex1 = einZeile.indexOf(' ');
                int sepIndex2 = einZeile.indexOf(' ', sepIndex1 + 1);
                String vStr = einZeile.substring(0, sepIndex1);
                String uStr = einZeile.substring(sepIndex1 + 1, sepIndex2);
                String wStr = einZeile.substring(sepIndex2 + 1, einZeile.length());
                int v = new Integer(vStr);
                int u = new Integer(uStr);
                int w = new Integer(wStr);
                if (!(u >= 0 && u < n && v >= 0 && v < n))
                    throw new Exception("Falsche Knotennummer");
                A[i][0] = v;
                A[i][1] = u;
                A[i][2] = w;
            }
        } catch (Exception e) {
            System.out.println("Einlesen nicht erfolgreich");
            System.out.println(e.getMessage());
        }

        return A;
    }