- 3D-Druck Einstieg und Tipps         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Java: XMLDe- und Encoder

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.08.2004
    Ort
    Bremen
    Alter
    34
    Beiträge
    102
    Anzeige

    Powerstation Test
    Ok, danke. Ich werd das dann übernehmen.
    Allerdings gibt es bei
    Code:
    BufferedReader in = null; 
       public Input( Socket cs )
       { 
             in = new BufferedReader(new InputStreamReader(cs.getInputStream())); 
       }
    und bei
    Code:
    public Output( Socket cs )
       { 
             reader = new BufferedReader(new InputStreamReader(System.in)); 
             out = new PrintStream(cs.getOutputStream()); 
       }
    Jeweils eine UnhandledIOException, aber das kann ich auch selbst beseitigen.

    MfG
    Jan

  2. #12
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.08.2004
    Ort
    Bremen
    Alter
    34
    Beiträge
    102
    So, jetzt hab ich den fertigen Code. Hier:

    Code:
    import java.io.BufferedReader; 
    import java.io.IOException; 
    import java.io.InputStreamReader; 
    import java.io.PrintStream; 
    import java.net.Socket; 
    
    public class Com 
    { 
    	public static void main(String args[])
    	{
    		try 
    	    { 
    	       Socket cs = new Socket("localhost", 4003); 
    	          
    	       Thread t1 = new Thread(new Output(cs)); 
    	       Thread t2 = new Thread(new Input(cs)); 
    	       t1.start(); 
    	       t2.start(); 
    	    } 
    	      
    	    catch (/*UnknownHostException is a*/ IOException e) 
    	    { 
    	       System.err.println("Es ist ein Fehler aufgetreten. Das Programm wird nun beendet."); 
    	       return; 
    	    } 
    	}
    }
    
    class Output
    extends Com
    implements Runnable
    {
    	BufferedReader reader = null;
    	PrintStream out = null;
    	
    	public Output(Socket cs)
    	{
    		reader = new BufferedReader(new InputStreamReader(System.in));
    		
    		try
    		{
    			out = new PrintStream(cs.getOutputStream());
    		}
    		
    		catch (IOException e)
    		{
    			System.err.println("Es ist ein Fehler aufgetreten. Das Programm wird nun beendet."); 
    		    return; 
    		}
    	}
    	
    	public void run()
    	{
    		while(true)
    			try
    			{
    				out.print(reader.readLine());
    			}
    		
    			catch (IOException e)
    			{
    				System.err.println("Es ist ein Fehler aufgetreten. Das Programm wird nun beendet."); 
    			    return; 
    			}
    	}
    }
    
    class Input
    extends Com
    implements Runnable
    {
    	BufferedReader in = null;
    	
    	public Input(Socket cs)
    	{
    		try
    		{
    			in = new BufferedReader(new InputStreamReader(cs.getInputStream()));
    		}
    		
    		catch (IOException e)
    		{
    			System.err.println("Es ist ein Fehler aufgetreten. Das Programm wird nun beendet."); 
    		    return; 
    		}
    	}
    	
    	public void run()
    	{
    		while(true)
    			try
    			{
    				System.out.println(in.readLine());
    			}
    			
    			catch (IOException e)
    			{
    				System.err.println("Es ist ein Fehler aufgetreten. Das Programm wird nun beendet."); 
    			    return; 
    			}
    	}
    }
    Dieses ewige Try & Catch! Kann man nicht irgendwas globales für IOExceptions definieren? Ich meine throws ist auch nicht das ware. Ein Globales Try & Catch wäre das was ich brauche, gibt es da eine Möglichkeit?

    MfG
    Jan

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    22.11.2003
    Beiträge
    459
    Nein, ein globales Try and Catch gibt es nicht, das musst du schon so machen...

    Gruß
    Johannes
    relaunched: http://www.mindrobots.de algorithms for intelligent robots

  4. #14
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.08.2004
    Ort
    Bremen
    Alter
    34
    Beiträge
    102
    Hi ich bins wieder mal.

    Kann mir hier irgendjemand sagen, wie man aus dem oben angeführten Code ein Applet macht? Das wäre ganz nett.

    MfG
    Jan

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    22.11.2003
    Beiträge
    459
    Deine Com-Klasse muss von Applet erben, also "extends Applet" musst du hinter den Klassennamen schreiben. Zuerst musst du jedoch mit
    "import java.applet.Applet;" das ganze importieren.
    Und die main()-Funktion muss durch "paint( Graphics g )" ersetzt werden.

    Gruß
    Johannes
    relaunched: http://www.mindrobots.de algorithms for intelligent robots

  6. #16
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.08.2004
    Ort
    Bremen
    Alter
    34
    Beiträge
    102
    Danke! Ich dachte eigendlich, weil du meinstest du kennst dich da nicht so aus, dass jemand anders antwortet, aber ich hab gegen deine Antwort auch nix
    Ich müsste das ganze dann abe mit graphischer Oberfläche machen, stimmts? Na das wird ein Spaß wo ich das doch gar nicht kann! *g*

    MfG
    Jan

  7. #17
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.08.2004
    Ort
    Bremen
    Alter
    34
    Beiträge
    102

    XML-Encoder

    Hi, ich bins mal wieder!

    Ich schreibe grade an einem XML-Encoder, allerdings klappt das ganze nicht so ganz. Der Encoder soll aus einem Java Programm eine XML-Datei schreiben. Das geht! Auf umgekehrtem Weg geht es auch schon aber mir ist es zu mühsam alle Programme in XML mit Hand zu schreiben. Also will ich es mit einem XML-Encoder einfach von Java nach XML "übersetzten" lassen. Hier meine Encoder-Code:
    Code:
    import java.beans.XMLEncoder;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    
    public class XMLencode
    {
    	public static void main(String args[])
    	{
    		try
    		{
    			String output = "Programm.xml", input = "Programm.java";
    			Object o = new FileInputStream(input);
    			
    			XMLEncoder e = new XMLEncoder(new FileOutputStream(output));
    			e.writeObject(o);
    		}
    		catch (FileNotFoundException e) 
    		{
    			System.out.println(e.getMessage());
    		}
    	}
    }
    Es kommen folgende Fehlermedlungen:

    java.lang.InstantiationException: java.io.FileInputStream
    Continuing ...
    java.lang.Exception: XMLEncoder: discarding statement XMLEncoder.writeObject(FileInputStream);
    Continuing ...


    Hier zum Verständniss die Codes für den Umgekehrten Weg (ein Java Programm als XML-Datei mit einem XML-Decoder ausführen):

    Der Decoder:
    Code:
    import java.beans.XMLDecoder;
    import java.io.FileInputStream;
    import java.io.IOException;
    
    class XMLdecode
    { 
    	public static void main(String args[])
    	{
    		String inputfile = "sample.xml";
    		
    		try
    		{
    			XMLDecoder d = new XMLDecoder(new FileInputStream(inputfile));
    			Object o = d.readObject();
    		}
    		catch (IOException e)
     		{
    			System.out.println(e.getMessage());
            }
    	}
    }
    Und die XML-Datei:
    Code:
    <?xml version="1.0" encoding="UTF-8"?> 
    <java version="1.4.1_03" class="java.beans.XMLDecoder"> 
     <object class="javax.swing.JFrame"> 
      <void property="size"> 
       <object class="java.awt.Dimension"> 
        <int>378</int> 
        <int>327</int> 
       </object> 
      </void> 
      <void property="contentPane"> 
       <void method="add"> 
        <object id="JButton0" class="javax.swing.JButton"> 
         <string>Disable Text Field</string> 
         <void property="preferredSize"> 
          <object class="java.awt.Dimension"> 
           <int>336</int> 
           <int>34</int> 
          </object> 
         </void> 
         <void property="bounds"> 
          <object class="java.awt.Rectangle"> 
           <int>17</int> 
           <int>135</int> 
           <int>336</int> 
           <int>34</int> 
          </object> 
         </void> 
         <void method="addActionListener"> 
          <object class="java.beans.EventHandler" method="create"> 
           <class>java.awt.event.ActionListener</class> 
           <object id="JTextField0" class="javax.swing.JTextField"> 
            <void property="preferredSize"> 
             <object class="java.awt.Dimension"> 
              <int>226</int> 
              <int>21</int> 
             </object> 
            </void> 
            <void property="bounds"> 
             <object class="java.awt.Rectangle"> 
              <int>63</int> 
              <int>201</int> 
              <int>226</int> 
              <int>21</int> 
             </object> 
            </void> 
            <void property="enabled"> 
             <boolean>false</boolean> 
            </void> 
            <void property="document"> 
             <void property="documentProperties"> 
              <void id="Boolean0" method="get"> 
               <string>filterNewlines</string> 
              </void> 
             </void> 
            </void> 
           </object> 
           <string>disable</string> 
          </object> 
         </void> 
        </object> 
       </void> 
       <void method="add"> 
        <object idref="JTextField0"/> 
       </void> 
       <void method="add"> 
        <object id="JButton1" class="javax.swing.JButton"> 
         <string>Enable Text Field</string> 
         <void property="preferredSize"> 
          <object class="java.awt.Dimension"> 
           <int>339</int> 
           <int>36</int> 
          </object> 
         </void> 
         <void property="bounds"> 
          <object class="java.awt.Rectangle"> 
           <int>16</int> 
           <int>86</int> 
           <int>339</int> 
           <int>36</int> 
          </object> 
         </void> 
         <void method="addActionListener"> 
          <object class="java.beans.EventHandler" method="create"> 
           <class>java.awt.event.ActionListener</class> 
           <object idref="JTextField0"/> 
           <string>enable</string> 
          </object> 
         </void> 
        </object> 
       </void> 
       <void method="add"> 
        <object id="JLabel0" class="javax.swing.JLabel"> 
         <void property="preferredSize"> 
          <object class="java.awt.Dimension"> 
           <int>335</int> 
           <int>69</int> 
          </object> 
         </void> 
         <void property="bounds"> 
          <object class="java.awt.Rectangle"> 
           <int>21</int> 
           <int>15</int> 
           <int>335</int> 
           <int>69</int> 
          </object> 
         </void> 
         <void property="text"> 
          <string>This is my First GUI Java Application!Nikos Fakos 2003.</string> 
         </void> 
        </object> 
       </void> 
       <void property="preferredSize"> 
        <object class="java.awt.Dimension"> 
         <int>370</int> 
         <int>300</int> 
        </object> 
       </void> 
       <void property="bounds"> 
        <object class="java.awt.Rectangle"> 
         <int>0</int> 
         <int>0</int> 
         <int>370</int> 
         <int>300</int> 
        </object> 
       </void> 
       <void property="layout"> 
        <object id="SpringLayout0" class="javax.swing.SpringLayout"> 
         <void method="addLayoutComponent"> 
          <object idref="JLabel0"/> 
          <object class="java.beans.Expression"> 
           <object idref="SpringLayout0"/> 
           <string>getConstraints</string> 
           <array class="java.lang.Object" length="1"> 
            <void index="0"> 
             <object idref="JLabel0"/> 
            </void> 
           </array> 
           <void property="value"> 
            <void property="x"> 
             <object class="javax.swing.Spring" method="constant"> 
              <int>21</int> 
             </object> 
            </void> 
            <void property="y"> 
             <object class="javax.swing.Spring" method="constant"> 
              <int>15</int> 
             </object> 
            </void> 
            <void method="setConstraint"> 
             <string>East</string> 
             <null/> 
            </void> 
            <void method="setConstraint"> 
             <string>South</string> 
             <null/> 
            </void> 
           </void> 
          </object> 
         </void> 
         <void method="addLayoutComponent"> 
          <object idref="JButton0"/> 
          <object class="java.beans.Expression"> 
           <object idref="SpringLayout0"/> 
           <string>getConstraints</string> 
           <array class="java.lang.Object" length="1"> 
            <void index="0"> 
             <object idref="JButton0"/> 
            </void> 
           </array> 
           <void property="value"> 
            <void property="x"> 
             <object class="javax.swing.Spring" method="constant"> 
              <int>17</int> 
             </object> 
            </void> 
            <void property="y"> 
             <object class="javax.swing.Spring" method="constant"> 
              <int>135</int> 
             </object> 
            </void> 
            <void method="setConstraint"> 
             <string>East</string> 
             <null/> 
            </void> 
            <void method="setConstraint"> 
             <string>South</string> 
             <null/> 
            </void> 
           </void> 
          </object> 
         </void> 
         <void method="addLayoutComponent"> 
          <object idref="JTextField0"/> 
          <object class="java.beans.Expression"> 
           <object idref="SpringLayout0"/> 
           <string>getConstraints</string> 
           <array class="java.lang.Object" length="1"> 
            <void index="0"> 
             <object idref="JTextField0"/> 
            </void> 
           </array> 
           <void property="value"> 
            <void property="x"> 
             <object class="javax.swing.Spring" method="constant"> 
              <int>63</int> 
             </object> 
            </void> 
            <void property="y"> 
             <object class="javax.swing.Spring" method="constant"> 
              <int>201</int> 
             </object> 
            </void> 
            <void method="setConstraint"> 
             <string>East</string> 
             <null/> 
            </void> 
            <void method="setConstraint"> 
             <string>South</string> 
             <null/> 
            </void> 
           </void> 
          </object> 
         </void> 
         <void method="addLayoutComponent"> 
          <object idref="JButton1"/> 
          <object class="java.beans.Expression"> 
           <object idref="SpringLayout0"/> 
           <string>getConstraints</string> 
           <array class="java.lang.Object" length="1"> 
            <void index="0"> 
             <object idref="JButton1"/> 
            </void> 
           </array> 
           <void property="value"> 
            <void property="x"> 
             <object class="javax.swing.Spring" method="constant"> 
              <int>16</int> 
             </object> 
            </void> 
            <void property="y"> 
             <object class="javax.swing.Spring" method="constant"> 
              <int>86</int> 
             </object> 
            </void> 
            <void method="setConstraint"> 
             <string>East</string> 
             <null/> 
            </void> 
            <void method="setConstraint"> 
             <string>South</string> 
             <null/> 
            </void> 
           </void> 
          </object> 
         </void> 
        </object> 
       </void> 
      </void> 
      <void property="glassPane"> 
       <void property="bounds"> 
        <object class="java.awt.Rectangle"> 
         <int>0</int> 
         <int>0</int> 
         <int>370</int> 
         <int>300</int> 
        </object> 
       </void> 
      </void> 
      <void property="layeredPane"> 
       <void property="bounds"> 
        <object class="java.awt.Rectangle"> 
         <int>0</int> 
         <int>0</int> 
         <int>370</int> 
         <int>300</int> 
        </object> 
       </void> 
      </void> 
      <void property="name"> 
       <string>frame0</string> 
      </void> 
      <void property="visible"> 
       <object idref="Boolean0"/> 
      </void> 
     </object> 
    </java>
    Kann mir jemand helfen?
    Das Hauptproblem liegt darin, denke ich zumindest, eine Java-Datei in ein Object umzuwandeln.
    Danke.

    MfG
    MJA

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests