tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
1789
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    cologna77 cologna77 ist offline Mitglied
    Registriert seit
    Jan 2010
    Beiträge
    12
    ich muss doch ein datei lesen mit eine methode public readXml(String fname){}
    public void readFromFile(String filename) {

    // BufferedInputStream bufferedInput = null;
    // byte[] buffer = new byte[4024];
    Vector dat = new Vector();
    try {
    String zeile;

    f= new File(filename);
    fr = new FileReader(f);
    br = new BufferedReader(fr);
    zeile=br.readLine().trim();

    zeile= br.readLine().trim();

    while( zeile!="</ERgebnis>"){

    if(zeile.charAt(1)=='E'){



    int begin = zeile.indexOf("=")+3;
    int ende = zeile.length()-3;
    String sub = zeile.substring(begin,ende);
    System.out.println(sub);
    person.setInfo(0, br.toString());
    dat.add(person);
    }
    }
    while(zeile!="</TrainingSet>")
    {
    if(zeile.charAt(1)=='T'){

    zeile = br.readLine().trim();
    dat.add(person);
    int begin = zeile.indexOf("=")+3;
    int ende = zeile.length()-3;
    String sub = zeile.substring(begin,ende);
    System.out.println(" "+sub);
    person.setInfo(1, br.toString());
    dat.add(person);
    }
    }

    zeile = br.readLine().trim();
    dat.add(person);

    br.close();
    }

    catch (FileNotFoundException fnfe)//
    {
    fnfe.printStackTrace();
    System.exit(0);
    System.out.println("Datei nicht gefunden");
    }
    catch(IOException e)
    {
    System.out.println("Fehler beim Lesen der Datei");
    }




    wie kann man ein xml-datei lesen und in einem vector speicher die ausgabe soll zum Beispiel so sein:

    1 1
    1 2
    1 3
    1 4
    1 5
    ...
    .
    .
    .
    1 45

    2 1
    2 2
    2 3
    2 4
    2 5
    2 6
    ....
    .
    .
    .
    2 45.


    fname= "MyXmlFile.xml";
    public String readXML(String fname){}
    und das ist die xml-datei:
    <?xml version='1.0' encoding='utf-8'?><!-- MyXmlFile.xml -->

    <GUI-Description>

    <ERgenis index ="1">
    -<TrainningSet setIndex ="1>
    <erro>0.000344</error>
    <TrainningSet/>

    -<TrainningSet setIndex ="2">
    <erro>0.0003487</error>
    <TrainningSet/>

    -<TrainningSet setIndex ="3">
    <erro>0.0013487</error>
    <TrainningSet/>

    -<TrainningSet setIndex ="4">
    <erro>0.0010487</error>
    <TrainningSet/>
    .
    .
    .
    -<TrainningSet setIndex ="45">
    <erro>0.0313487</error>
    <TrainningSet/>


    </ERgebnis>

    - <ERgenis index ="2">
    -<TrainningSet setIndex ="1>
    <erro>0.000344</error>
    <TrainningSet/>

    -<TrainningSet setIndex ="2">
    <erro>0.0003487</error>
    <TrainningSet/>

    -<TrainningSet setIndex ="3">
    <erro>0.0013487</error>
    <TrainningSet/>

    -<TrainningSet setIndex ="4">
    <erro>0.0010487</error>
    <TrainningSet/>
    .
    .
    .
    -<TrainningSet setIndex ="45">
    <erro>0.0313487</error>
    <TrainningSet/>


    </ERgebnis>

    <GUI-Description/>
    hat jeamnden eine Idee?

    meine klasse heisst:


    public ERgebnis(int Index){
    /*The constructor for an EpochResult instance.
    * A positive epoch index should be provided;
    * otherwise, though the EpochResult instance
    * will be created, the repository will not
    * treat it as a valid instance.
    The instance will be initialized.

    Parameters:
    epochIndex - the epoch index. Should not be 0 or negative.*/

    if(epochIndex <= 0)
    epochIndex = STANDARD_VALUE;
    this.epochIndex= epochIndex;

    }

    public int getIndex(){
    /* Retrieve the epoch index of this instance. Only positive integer values are
    * valid epoch indices. A zero return value indicates that this instance has not
    * yet been given a proper epoch index; this typically happens if a constructor
    * call with invalid epochIndex value has been invoked.

    Returns:
    the epoch index of this instance
    */
    if(epochIndex >0)

    return epochIndex;

    }

    public void setIndex(int newIndex){
    /* Set the epoch index. Only positive values are allowed.
    * In case a negative or zero value is provided to this method,
    * nothing will change within this instance.

    Parameters:
    newIndex - the index value to be set*/

    Index = newIndex ;
    }
    public int[] getTrainingResultSetIndices( int setIndex){
    /* Retrieve the list of setIndex values of all training result sets available in this epoch.
    * They are returned as an integer array. Note, that the setIndex values appear unsorted
    * in any order (as they have been entered into the epoch). Note also, that this only means
    * there is at least one of the following information items available for that setIndex: a
    * set name, an output error, an output data set, and/or a resulting net configuration.
    If there are none (yet), an array of length 0 is returned.

    Returns:
    array with setIndex values available in this epoch.

    */

    }
    hat jemanden eine idee? danke im voraus!
     

  2. #2
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Ich verstehe die XML-Datei zwar nicht (glaube aber, dass sie in Zeile 9 einen Fehler enthält) aber sieht so aus, als müsstest du die Zeilen einfach so wie HTML in Wertnamen und Wert zerlegen.
    Den Source kapiere ich irgendwie auch nicht. Du definierst einen Buffer, verwendest ihm aber nicht. Zudem hat er eine seltsame Länge, und konstanten sollte man möglich nicht direkt verwenden, diesen aber keinesfalls.

    Keine Ahnung, wie sich der Vector zusammensetzt, aber ließ das ganze doch in einen Buffer von der Länge der XML-Datei, gehe zeichenweiß durch, bis du gewissen Codes findest (< ignorieren, bis zum nächsten Space = Irgendwas, bis zum "ist gleich" = Variablenname, "ist gleich" überspringen, bis zum "ist gleich" Variablenwert, bis zum 13 10 durchrennen, danach von vorne.
     

  3. #3
    cologna77 cologna77 ist offline Mitglied
    Registriert seit
    Jan 2010
    Beiträge
    12
    jghaghfasjghfakjshfkjah
    Geändert von Thomas Darimont (28.01.10 um 22:09 Uhr) Grund: Blödsinn
     

  4. #4
    cologna77 cologna77 ist offline Mitglied
    Registriert seit
    Jan 2010
    Beiträge
    12
    ich bekomme jedes mal diese meldung:
    Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Vector
    at javax.swing.table.DefaultTableModel.justifyRows(Unknown Source)
    at javax.swing.table.DefaultTableModel.setDataVector(Unknown Source)
    at javax.swing.table.DefaultTableModel.<init>(Unknown Source)
    at javax.swing.JTable.<init>(Unknown Source)
    at AnnDataRespository.main(AnnDataRespository.java:157)
    ich lesen ein xml-datei und speichere das in txt-datei.und durch den vector speicher alle daten in einem Jtable.
    kann jemand mir helfen.

    public class AnnDataRespository {
    //private String fname = "NewDataRepoContent.xml";
    private int trainingResultSets;
    private int epochIndex;
    private int setIndex;
    int STANDARD_VALUE;
    private int[] info = new int[10];
    //private Person person;
    //private StringBuffer buf = new StringBuffer();

    //String tag ="</Layer>";
    String ausgabe = null;
    String ausgabe1 = null;
    String Text = null;
    Vector data = new Vector();
    String Text1 = null;
    String Text3 = null;

    String Next = null;
    int laenge1 = 0;

    int laenge2 = 0;
    int laenge3 = 0;
    int laenge4 = 0;
    int laenge5 = 0;
    int laenge6 = 0;
    String tag ="";


    //public String readFromXML(String tag,String tag1,String fname)throws java.io.FileNotFoundException, java.io.IOException{
    /*--------------------------------------------------------------------------------------------------------------------------
    *
    * das ist methode readFromXML();
    *
    *
    * --------------------------------------------------------------------------------------------------------------------------*/
    public String readFromXML(String tag,String tag1,String tag2,String fname)throws
    java.io.FileNotFoundException, java.io.IOException{
    Vector data = new Vector();
    //String ausgabe[] = new String[3000];
    BufferedReader b2 = new BufferedReader(new FileReader ("D:/workspace/diplom/streams.txt"));
    while ((fname = b2.readLine()) != null)
    {
    BufferedReader b1 = new BufferedReader(new FileReader (fname));

    Text=b1.readLine().trim();
    while ((Text = b1.readLine()) != null ) {
    int i=0;
    Next = Text.trim();
    laenge1 = Next.length()-1;
    laenge2 = tag.length()+15;
    int ende3 = laenge1-1 ;

    if (Text.contains(tag)) {
    ausgabe += Next.substring(laenge2, ende3);
    data.add(ausgabe);
    // i++;
    }

    Next = Text.trim();
    laenge3 = Next.length()-1;
    laenge4 = tag1.length()+11;
    int ende1 = laenge3-1 ;

    if (Text.contains(tag1)) {
    ausgabe += Next.substring(laenge4, ende1);
    data.add(ausgabe);
    //System.out.println(ausgabe);
    //i++;
    }
    Next = Text.trim();
    // tag2 ="SumOfSquares";
    laenge5 = Next.length()-1;
    laenge6 = tag2.length()+15;
    int ende2 = laenge5-7 ;

    if (Text.contains(tag2)) {
    ausgabe += Next.substring(laenge6, ende2);
    data.add(ausgabe);
    //System.out.println(ausgabe);
    //i++;
    }

    //PID = Integer.parseInt (line.substring (start, end));
    //i++;

    }

    }


    return ausgabe ;
    }



    public static void main(String args[]) throws java.io.IOException {

    Vector data = new Vector();
    Vector title = new Vector();
    Vector rowA = new Vector();
    String fname = null;
    Serializable fails = (new AnnDataRespository(1).readFromXML("epochIndex","TrainingResultSet
    ","SumOfSquares",fname) + " | ");





    //for(int i=0; i<fails.length; i++){
    //rowA.add(fails[i]);

    //data.add( rowA );
    //}
    data.add(fails);

    title.add( "epochIndex" );
    title.add( "TrainingResultSet " );
    title.add( "weights" );
    title.add( "Error" );
    //String fails[] = new AnnDataRespository(1).readFromXML("epochIndex","TrainingResultSet ","SumOfSquares",fname);

    // Das JTable initialisieren
    JTable table = new JTable( data, title );// hier ist das fehler---------157-----------------------<<<<157
    JFrame frame = new JFrame( "Demo" );
    frame.getContentPane().add( new JScrollPane( table ) );
    frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    frame.pack();
    frame.setVisible( true );




    PrintWriter p = new PrintWriter(new FileWriter("D:/workspace/diplom/ausgabe.txt"));
    BufferedReader b = new BufferedReader(new FileReader ("D:/workspace/diplom/streams.txt"));
    //String fname;
    //String tag2 ="<Error type=SumOfSquares>";
    while ((fname = b.readLine()) != null)
    {
    //p.print(new AnnDataRespository().readFromXML("epochIndex",fname) + ", ");


    p.print(new AnnDataRespository(1).readFromXML("epochIndex","TrainingResultSet ","SumOfSquares",fname) + " | ");
    //p.print(new AnnDataRespository().readFromXML("epochIndex","TrainingResultSet ",fname) + " ,");



    //p.print(new AnnDataRespository().readFromXML("TrainingResultSet",fname)+ LINE_SEPARATOR);
    // data.add(new AnnDataRespository(1).readFromXML("epochIndex","TrainingResultSet ","SumOfSquares",fname));
    p.println();
    p.flush();
    p.close();

    }

    }

    danke im voraus.
     

  5. #5
    Avatar von zer0
    zer0 zer0 ist offline Mitglied Brokat
    Registriert seit
    Oct 2009
    Beiträge
    323
    Vielleicht mal die Formatierung Tags verwenden.
     

  6. #6
    Tomek_FFM Tomek_FFM ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Ort
    Frankfurt am Main
    Beiträge
    67
    Die JTable hat keinen Konstruktor für Deine Parameter Vector (data) und String (title), siehe http://java.sun.com/javase/6/docs/ap...ng/JTable.html.
     

  7. #7
    cologna77 cologna77 ist offline Mitglied
    Registriert seit
    Jan 2010
    Beiträge
    12
    danke für die Antwort ,
    hat jemand ein beispiel wie man eine tabelle mit daten erfüllt ,erstellt.
    ich brauche das bitte
    danke im voraus
     

  8. #8
    Avatar von zer0
    zer0 zer0 ist offline Mitglied Brokat
    Registriert seit
    Oct 2009
    Beiträge
    323
    Hi!

    Schau mal hier!
     

  9. #9
    cologna77 cologna77 ist offline Mitglied
    Registriert seit
    Jan 2010
    Beiträge
    12
    hallo nochmal .ich habe jetzt ein problem beim Jtable-erstellung .ich habe eine methode die xml einliest von typ string ,ich habe gelesene Daten in einem Vector .und Konstruktor von Jtable (object[][],String[])und ich habe noch ein Methode int [] getTsetIndix()die die liste(werte) aller Training zurück.
    hat jemand eine idee.?
    danke im voraus.
     

Ähnliche Themen

  1. Record in Datei speichern und lesen
    Von onlinesoccer im Forum Delphi, Kylix, Pascal
    Antworten: 0
    Letzter Beitrag: 27.09.07, 10:39
  2. string aus Datei lesen
    Von LadyMarion im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 28.08.07, 13:40
  3. Datei lesen int und string sortieren
    Von Thomasio im Forum C/C++
    Antworten: 15
    Letzter Beitrag: 09.08.06, 19:18
  4. Antworten: 1
    Letzter Beitrag: 21.02.06, 18:35
  5. Antworten: 3
    Letzter Beitrag: 28.06.05, 08:59