Verfügbare Informationen zu "Pumi3"
Qualität des Beitrags: 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:01Pumi3
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:57pumi-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:48Version 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"
