Pumi3

Untitled
Verfügbare Informationen zu "Pumi3"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: David - Florian
  • Forenurl: Klick
  • aus dem Unterforum: PUM - Tutorien
  • Antworten: 3
  • Forum gestartet am: Samstag 11.11.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Pumi3
  • Letzte Antwort: vor 16 Jahren, 3 Monaten, 28 Tagen, 11 Stunden, 54 Minuten
  • Alle Beiträge und Antworten zu "Pumi3"

    Re: Pumi3

    David - 21.11.2006, 14:01

    Pumi3
    package Excel2Xml;
    import javax.swing.*;
    //import java.awt.*;
    import java.awt.event.*;
    import java.io.File;
    import java.io.Reader;


    public class GUI extends JFrame implements ActionListener
    {
    JFileChooser fc= new JFileChooser();
    JButton openBt= new JButton("CSV-DATEI oeffnen");
    JButton saveBt= new JButton("XML-DATEI speichern");
    JButton okBt=new JButton("Umwandeln");
    String filename="FileName";
    static File file_eingabe;
    static File file_ausgabe;


    public GUI()
    {
    super("CSV2XML");
    JPanel pan= new JPanel();

    pan.add(openBt);
    pan.add(okBt);
    pan.add(saveBt);

    openBt.addActionListener(this);
    okBt.addActionListener(this);
    saveBt.addActionListener(this);
    okBt.hide();
    saveBt.hide();
    setContentPane(pan);

    }


    public void actionPerformed(ActionEvent ae)
    {
    Object quelle = ae.getSource();
    fc.setCurrentDirectory(new File("c:\\Java"));
    if(quelle == openBt)
    {
    fc.showOpenDialog(this);

    okBt.show();
    okBt.updateUI();
    file_eingabe = fc.getSelectedFile();
    }

    if(quelle == saveBt)
    {
    fc.showSaveDialog(this);
    file_ausgabe = fc.getSelectedFile();
    }
    if(quelle == okBt)
    {
    //Umwandlung

    saveBt.show();
    okBt.updateUI();
    }

    }



    public static void main (String[] args)
    {
    JFrame rahm = new GUI();
    WindowListener listener= new WindowAdapter()
    {
    public void windowClosing(WindowEvent we) { System.exit(0); }
    };

    rahm.addWindowListener(listener);
    rahm.setSize(300,100);
    rahm.setVisible(true);
    }

    public static void transform()
    {
    try {
    BufferedReader in = new BufferedReader (
    new FileReader ("filename.txt") );

    }
    catch (IOException e) {
    System.out.println("Open error " + e);
    }



    }


    }



    Re: Pumi3

    David - 28.11.2006, 09:57

    pumi-update
    package pumi_3;

    import javax.swing.*;
    import java.awt.event.*;
    import java.io.File;
    import java.io.*;
    import java.awt.*;
    import java.awt.Color;
    import java.util.*; //noetig fuer StringBuffer und StringTokinzer

    /**
    * Funktion der Classe: Konvertierung einer CSV-Datei in eine XML-Datei

    Kundendaten.csv
    1;Meier;Robert;5456;robert.meier@telefirma.de
    2;Kurz;Anika;12321;anika.kurz@sdh.de
    3;Otto;Alexander;4575;ottolein@gmx.de
    4;Kaiser;Karl;2345;karl_kaiser@autohaus-md.de
    5;Schwarze;Nicole;7534;nicole@schwarze.de
    6;Bauer;Paula;64534;paulaaa@web.de
    <Kundendaten>
    <Person>
    <Kundennummer>1</Kundennummer>
    <Nachname>Meier</Nachname>
    <Vorname>Robert</Vorname>
    <Telefon>5456</Telefon>
    <Email>robert.meier@telefirma.de</Email>
    </Person>
    <Person>
    <Kundennummer>2</Kundennummer>
    <Nachname>Kurz</Nachname>
    <Vorname>Anika</Vorname>
    <Telefon>12321</Telefon>
    <Email>anika.kurz@sdh.de</Email>
    </Person>
    </Kundendaten>


    * @author davidbobles
    * @version 1.0.
    *
    */

    public class GUI extends JFrame implements ActionListener
    {

    JFileChooser fc= new JFileChooser(); //Zum Auswaehlen der Datei
    JButton openBt= new JButton("CSV-DATEI oeffnen");
    JButton saveBt= new JButton("XML-DATEI speichern");
    JButton okBt=new JButton("Umwandeln");
    Label headlineLabel = new Label("\nPROGRAMM ZUR KONVERTIERUNG CSV-Datein IN XML-Datein\n=======================================");
    // String filename="FileName";
    String CSV_DATEI = new String();
    String XML_DATEI = new String("Fehler bei der Konvertierung");
    TextField TF2=new TextField();

    /**
    * Fenster mit 3 Buttons(Oeffnen, Speichern und Umwandeln) und einem Textfeld.
    *
    */
    public GUI()
    {
    super("CSV2XML"); //Titel im Fenster
    Color bgcolor =Color.BLACK; //Allgemeine Hintergrundfarbe
    Panel pan = new Panel(new BorderLayout(10,10)); //10,10 Abstand zwischen den Bereichen


    //Objekteigenschaften zuweisen
    openBt.setBackground(bgcolor);
    okBt.setBackground(bgcolor);
    saveBt.setBackground(bgcolor);
    TF2.setBackground(Color.GRAY);


    pan.setBackground(bgcolor);

    // Neue Objekte -> auf dem Panel hinzufuegen
    pan.add(BorderLayout.WEST, openBt);
    pan.add(BorderLayout.SOUTH, okBt);
    pan.add(BorderLayout.EAST, saveBt);
    pan.add(BorderLayout.CENTER, TF2);
    pan.add(BorderLayout.NORTH, headlineLabel);

    // ActionListener hinzufuegen, um MouseClickergeignisse abzufangen
    openBt.addActionListener(this);
    okBt.addActionListener(this);
    saveBt.addActionListener(this);

    // Buttons inaktiv schalten + Formation der Labels und Buttons
    okBt.setEnabled(false);
    saveBt.setEnabled(false);
    headlineLabel.setAlignment(1);
    // headlineLabel.
    headlineLabel.setForeground(Color.ORANGE);

    // Panel auf Frame anlegen - aktualiesieren
    setContentPane(pan);
    }

    /**
    * Abfangen der Ereignisse (Button->Funktion)
    */
    public void actionPerformed(ActionEvent ae) //Ereignisse anfangen
    {
    Object quelle = ae.getSource(); //Auslöser speivhern
    fc.setCurrentDirectory(new File("c:\\Java"));


    if(quelle == openBt) //Wenn Auslöser Oeffnen-Button: ....
    {

    fc.showOpenDialog(this); //Offnen Dialog - aufrufen
    okBt.setEnabled(true); //Umwandelbutton -> aktiv
    saveBt.setEnabled(false); //Speicherbutton -> inaktiv
    XML_DATEI="Fehler beim Konvertieren";
    TF2.setText(""); //Textfeld loeschen
    CSV_DATEI=fileToString(fc.getSelectedFile()); //Inhalt der ausgewälten Datei in dem String CSV_DATEI kopieren
    TF2.setText(CSV_DATEI); //Inhalt des Strings im Textfeld ausgeben
    }

    if(quelle == saveBt) //Wenn Auslöser Speicher-Button: ....
    {
    fc.showSaveDialog(this); //Speicher Dialog aufrufen
    try
    {
    FileWriter writer = new FileWriter( fc.getSelectedFile(), true ); //FileWrite zum Schreiben in die Datei
    writer.write(XML_DATEI); //schreib die XML-String in Datei
    writer.close(); //Datenstream schließen
    }
    catch ( IOException iox )
    {
    TF2.setText("FEHLER BEIM SPEICHERN");
    }


    }
    if(quelle == okBt) //Wenn Auslöser Umwandel-Button: ...
    {
    XML_DATEI="";
    XML_DATEI+=csvToXml(CSV_DATEI); //Konvertierung des CSV-Strings in XML-String - siehe unten
    TF2.setText(""); // Inhalt des Textfeldes loeschen
    TF2.setText(XML_DATEI); //Inhalt des Konvertierten Strings ins Textfeld schreiben


    saveBt.setEnabled(true); //SpeicherButton -> aktiv
    okBt.setEnabled(false); //UmwandelButton -> Inaktiv
    }

    }


    /**
    * Instanz der GUI erzeugen
    * Fenstergroesse 800x600
    */
    public static void main (String[] args)
    {
    JFrame rahm = new GUI();
    WindowListener listener= new WindowAdapter()
    {
    public void windowClosing(WindowEvent we) { System.exit(0); }
    };

    rahm.addWindowListener(listener);
    rahm.setSize(800,600);
    rahm.setVisible(true);
    }


    /**
    *
    * @param file_ink ausgewaehlte CSV-Datei, zur Umwandlung in einen String
    * @return String mit dem Inhalt der CSV-Datei
    */
    public static String fileToString(File file_ink)
    {
    String line_buffer; //Zwischenspeichern fuer die Zeilen
    String content =new String();
    try
    {
    BufferedReader in = new BufferedReader(new FileReader( file_ink)); //Dateistreamer
    line_buffer = in.readLine();

    while ( line_buffer != null ) // einlesen aller Zeilen
    {
    content+=line_buffer; //Zeileninhalt in String conten
    content+="\n"; //mit Zeilenumbruch
    line_buffer = in.readLine(); //naechste Zeile einlesen
    }
    in.close(); //Dateistream lesen
    }
    catch ( IOException iox )
    {
    return "FEHLER beim EINLESEN der DATEI " + file_ink.getName();
    }

    return content;

    }

    /**
    *
    * @param str_csv String mit dem Inhalt der CSV-Datei oder im CSV-Format
    * @return Konvertierter CSV-String als XML-Format-String
    */
    public static String csvToXml(String str_csv)
    {
    StringBuffer tmp = new StringBuffer(); //Im Gegensatz zum String erweiterbar
    tmp.append("<Kundendaten>\n"); //erste Zeile der XML-Datei

    StringTokenizer tok_zeile = new StringTokenizer(str_csv); // Zerlegen des Strings in Token (kleiner Strings
    // Tokentrenner = Zeilenumbruch (default-wert)

    for(int i=0; i<=tok_zeile.countTokens()+2;i++) //solange Token vorhanden
    {
    StringTokenizer tok_wort=new StringTokenizer(tok_zeile.nextToken(),";"); //Zerlegen der Zeilen in kleinere Strings
    // Tokentrenner ";"
    tmp.append(" <Person>\n"); //Person in XML-Datei anlegen
    tmp.append(" <Kundennummer>"+tok_wort.nextToken()+"</Kundennummer>\n");
    tmp.append(" <Nachname>"+tok_wort.nextToken()+"</Nachname>\n");
    tmp.append(" <Vorname>"+tok_wort.nextToken()+"</Vorname>\n");
    tmp.append(" <Telefon>"+tok_wort.nextToken()+"</Telefon>\n");
    tmp.append(" <Email>"+tok_wort.nextToken()+"</Email>\n");
    tmp.append(" </Person>\n"); //Ende der Personenbeschreibung in der XML-Datei
    }



    tmp.append("</Kundendaten>"); //letzte Zeile der XML-Datei

    return tmp.toString();
    }


    }



    Re: Pumi3

    Florian - 28.11.2006, 13:48

    Version 1.1 ... einige Fehler wurden in der UE behoben
    package Rechner01;

    import javax.swing.*;
    import java.awt.event.*;
    import java.io.File;
    import java.io.*;
    import java.awt.*;
    import java.awt.Color;
    import java.util.*;

    /**
    * @author florianholzhaeuser
    * @version 1.1.
    *
    */

    public class GUI extends JFrame implements ActionListener{
    JFileChooser fc= new JFileChooser(); //Zum Auswaehlen der Datei
    JButton openBt= new JButton("CSV-DATEI oeffnen");
    JButton saveBt= new JButton("XML-DATEI speichern");
    JButton wandelBt=new JButton("Umwandeln");
    Label headlineLabel = new Label("\r\nConvert CSV to XML - This is the Version 1.0");

    String CSV_DATEI = new String();
    String XML_DATEI = new String("Fehler bei der Konvertierung");
    TextArea TF2=new TextArea();

    public GUI(){
    super("_____________CSV-2-XML_____________"); //Titel des Fensters
    Color bgcolor =Color.DARK_GRAY; //Hintergrundfarbe
    Panel pan = new Panel(new BorderLayout(5,5)); //Abstand zwischen den Buttons

    openBt.setBackground(Color.GRAY);
    wandelBt.setBackground(Color.GRAY);
    saveBt.setBackground(Color.GRAY);
    TF2.setBackground(Color.WHITE);

    pan.setBackground(bgcolor);

    pan.add(BorderLayout.WEST, openBt);
    pan.add(BorderLayout.SOUTH, wandelBt);
    pan.add(BorderLayout.EAST, saveBt);
    pan.add(BorderLayout.CENTER, TF2);
    pan.add(BorderLayout.NORTH, headlineLabel);

    // ActionListener zum verarbeiten des Mouseclick
    openBt.addActionListener(this);
    wandelBt.addActionListener(this);
    saveBt.addActionListener(this);

    wandelBt.setEnabled(false);
    saveBt.setEnabled(false);
    headlineLabel.setAlignment(1);

    headlineLabel.setForeground(Color.GRAY);
    setContentPane(pan); //zum darstellen der buttons auf dem erstellten panel
    }

    public void actionPerformed(ActionEvent ae){
    Object quelle = ae.getSource(); // speichert Ereignis
    fc.setCurrentDirectory(new File("c:\\Java"));

    if(quelle == openBt){
    fc.showOpenDialog(this);
    wandelBt.setEnabled(true);
    saveBt.setEnabled(false);
    XML_DATEI="Fehler beim Konvertieren";
    TF2.setText(""); //Textfeld aktualisieren
    CSV_DATEI=fileToString(fc.getSelectedFile()); //Methode fileToString
    TF2.setText(CSV_DATEI); //Ausgabe CSV Datei
    }

    if(quelle == saveBt) {
    fc.showSaveDialog(this); //Speicher Dialog aufrufen
    try {
    FileWriter writer = new FileWriter( fc.getSelectedFile(), true ); //FileWrite zum Schreiben in die Datei
    writer.write(XML_DATEI); //schreib die XML-String in Datei
    writer.close(); //Datenstream schließen
    }
    catch ( IOException iox ) {
    TF2.setText("FEHLER BEIM SPEICHERN");
    }
    }

    if(quelle == wandelBt) {
    XML_DATEI="";
    XML_DATEI+=csvToXml(CSV_DATEI); //Methode csvToxml, also die Umwandlung
    TF2.setText(""); // Textfeld aktualisieren
    TF2.setText(XML_DATEI); //Ausgabe der XML Datei


    saveBt.setEnabled(true);
    wandelBt.setEnabled(false);
    }
    }

    public static void main (String[] args){
    JFrame rahm = new GUI();
    WindowListener listener= new WindowAdapter(){
    public void windowClosing(WindowEvent we) { System.exit(0); }
    };
    rahm.addWindowListener(listener);
    rahm.setSize(800,600);
    rahm.setVisible(true);
    }

    public static String fileToString(File file_in){
    String linereader; //Zwischenspeicher der Zeilen
    String content =new String();
    try {
    BufferedReader in = new BufferedReader(new FileReader( file_in)); //Dateistreamer
    linereader = in.readLine();

    while ( linereader != null ) { // alle zeilen werden eingelsen
    content+=linereader; // Liest den Zeileninhalt in den String content
    content+="\n";
    linereader = in.readLine();
    }
    in.close();
    }
    catch ( IOException iox ){
    return "FEHLER beim EINLESEN der DATEI " + file_in.getName();
    }
    return content;
    }

    public static String csvToXml(String csv){
    StringBuffer tmp = new StringBuffer(); //Stringbuffer ermoeglicht die Erweiterung
    tmp.append("<Kundendaten>\r\n");

    StringTokenizer tok_z = new StringTokenizer(csv);
    // Tokentrenner = Zeilenumbruch (default-wert)

    for(int i=0; i<=tok_z.countTokens()+4;i++) {
    StringTokenizer tok_w=new StringTokenizer(tok_z.nextToken(),";");
    tmp.append(" <Person>\r\n");
    tmp.append(" <Kundennummer>"+tok_w.nextToken()+"</Kundennummer>\r\n");
    tmp.append(" <Nachname>"+tok_w.nextToken()+"</Nachname>\r\n");
    tmp.append(" <Vorname>"+tok_w.nextToken()+"</Vorname>\r\n");
    tmp.append(" <Telefon>"+tok_w.nextToken()+"</Telefon>\r\n");
    tmp.append(" <Email>"+tok_w.nextToken()+"</Email>\r\n");
    tmp.append(" </Person>\r\n");
    }
    tmp.append("</Kundendaten>");
    return tmp.toString();
    }
    }



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Untitled

    Tutorium zum Thema: Array und Sort - gepostet von Florian am Dienstag 14.11.2006



    Ähnliche Beiträge wie "Pumi3"