Hagi: zweidimensionales Feld

Hallo,
ich habe ein zweidimensionales Feld aus int-Werten mit 240 Zeilen und 320 Spalten:
{ {1,...,320},
  {321,...,640},
  ...
  {76481,...,76800} }
Diese Matrize habe ich in einer txt-Datei abgespeichert, denn die direkte Aufnahme in die java-Datie erzeugt eine Fehlermeldung:"Code of a method longer than 65535 bytes"
Daher wollte ich die Zeilen der txt-Datei in ein int[][]-Feld in der java-Datei ablegen:
private static final String IN="matrix.txt";
public static void main(String[] argv) throws IOException {
 String Zeile;
 int[][] Feld;
 int counter=0;
 LineNumberReader in=new LineNumberReader(new FileReader(IN));
 while ((Zeile=in.readLine())!=null)
  Feld[counter++][]=Zeile;
 in.close();
}

Das funktiniert natürlich nicht, da Zeile ein String ist. Auch ein cast mit (int[]) Zeile geht nicht.
Wie bekomme ich die txt-Datei in ein zweidimensionales Feld?
Herzlichen Dank und viele Grüße,
Hagi

  1. Hi Hagi

    Probiers doch mal so
    int matrix[][]= new Matrix[240][320];
    int zaehler=0;
    for (int i=0;i<240;i++)
       {
         for (int j=0;j<320,j++)
            {
               matrix[i][j]=zaehler+1;
               zaehler++;
            }
       }

    dann brauchst du den ganzen Auslagerungsquatsch nicht. Ist nicht getestet, aber meine grauen Zellen sagen, daß das gehen müßte.
    Es sei denn es war ein Gedankenfurz meinerseits

    also probiers einfach mal aus

    Ciao Goofy

    1. Hallo Goofy,
      die angegebene Matrix ist nur ein Muster, tatsächlich stehen beliebige int-Zahlen in der Matrix. D.h. ich muss doch die txt-Datei irgendwie einlesen.
      Danke,
      Hagi

      Hi Hagi

      Probiers doch mal so
      int matrix[][]= new Matrix[240][320];
      int zaehler=0;
      for (int i=0;i<240;i++)
         {
           for (int j=0;j<320,j++)
              {
                 matrix[i][j]=zaehler+1;
                 zaehler++;
              }
         }

      dann brauchst du den ganzen Auslagerungsquatsch nicht. Ist nicht getestet, aber meine grauen Zellen sagen, daß das gehen müßte.
      Es sei denn es war ein Gedankenfurz meinerseits

      also probiers einfach mal aus

      Ciao Goofy

      1. Hoi,

        zuerst mal: http://learn.to/quote

        die angegebene Matrix ist nur ein Muster, tatsächlich stehen
        beliebige int-Zahlen in der Matrix. D.h. ich muss doch die
        txt-Datei irgendwie einlesen.

        Dann speichere sie in einem freundlicheren Format ab, z. B. so:

        0,1,2,3,4,5,6,7,8
        9,10,11,12,13,14,15
        16,17,18,19,20,21,22

        Dann kannst du sie etwa so einlesen:

        public static void main(String[] args) {
          String  Zeile;
          int[][] Feld;
          int     i,j,k,n;

        LineNumberReader in = new LineNumberReader(new FileReader(IN));

        for(i=0,n=0,k=0;zeile != null;Zeile = in.readLine(),i++,n=++,k=0) {
            for(j=zeile.indexOf(",");j!=-1;j=zeile.indexOf(",",k)) {
              Feld[i][n] = Integer.parseInt(zeile.substring(j,k));
              k = j + 2;
            }
          }

        in.close();
        }

        Das ist zwar nicht getestet, du musst also evntl. noch ein wenig beim
        substring rumspielen, aber generell sollte das so funktionieren.

        Gruesse,
         CK