Ein text Datei komplet ausgeben lassen.

Status
Nicht offen für weitere Antworten.

kaper28

Bekanntes Mitglied
Hall Leute, ich habe ein kleines problem . Ich möchte ein text datei mit einem knopfdruck in einem TextArea ausgeben lassen. Nur ich komme nicht voran, brauche daher eure hilfe bitte.

Das ist mein Code:
Java:
import java.awt.Button;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
 
import javax.swing.JFrame;
 
 
 
public class DateiEingabe extends JFrame {
 
    TextArea are;
    Button ausgeben;
 
    
 
     class Lauscher implements ActionListener
      {
         public void actionPerformed(ActionEvent e)
        
         
         { 
    
             String titel;
             titel = e.getActionCommand();
             if (titel.equals("Ausgeben"))
              {
      
            	 
            	 
             
              }  
         
     
             
         }
      }
     public DateiEingabe() {
 
            are = new TextArea();
            are.setBounds(20, 20, 300, 300);
            ausgeben = new Button("Ausgeben");
            ausgeben.setBounds(130, 330, 70, 30);
 
            
            this.setLayout(null);
            this.setVisible(true);
            add(are);
            add(ausgeben);
            ausgeben.addActionListener(new Lauscher());
        }
    public static void main(String[] args) throws IOException {
 
        DateiEingabe fenster =new DateiEingabe();
 
 fenster.pack();
 fenster.setSize(400, 400);
 fenster.setVisible(true); 
    }
}

Das ist der Code den ich einbauen möchte aber geht nicht. Ich habe eine TextDatei mit 9 Zeilen , die Applikation soll eine zufalls zeile aussuchen und ausgeben.
Java:
// Die Inztans DateiStream stellt die verbindung zum Datenbank her.
	{
		FileReader dateiStream = new FileReader("D:/Quiz.txt");
		BufferedReader eingabeDatei = new BufferedReader(dateiStream);

	//Lesen sie die Anzahl der in der Datei gespeicherten Datensätze ein 
		//Die Anzhal der Datensätze ist in der ersten zeile in der datei.Also lesen 
		// wir die erste zeile und wandlen die zeile in eine Ganzzahl datei um. Und fügen
		// es in variable ganzzahl um. 
		
		
		String zeile;
		int anzahl;
		
		zeile=eingabeDatei.readLine();
		anzahl=	Integer.parseInt(zeile);
		
	// Eine Zufallszahl erschaffen zischen 1 und anzahl
		Random zufall = new Random();
		int zufallszahl;
		
		while(true)
		{
			zufallszahl=zufall.nextInt(anzahl+1);
			if(zufallszahl!=0)
				break;
			
		}
		
		// die Zeile Lesen
		for(int i=1; i<= zufallszahl;i++)
			zeile=eingabeDatei.readLine();
 
so ich habe so gemacht, ok ich bekomme die Liste aber nur einzeln, ich möchte sie aber komplet bekommen.Mit einem Knopfdruck.

Java:
import java.awt.Button;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.util.Random;
 
import javax.swing.JFrame;
 
 
 
public class DateiEingabe extends JFrame {
 
    TextArea are;
    Button ausgeben;
 
    
 
     class Lauscher implements ActionListener
      {
         public void actionPerformed(ActionEvent e)
        
         
         { 
    
             String titel;
             titel = e.getActionCommand();
             if (titel.equals("Ausgeben"))
              {
      
            	 FileReader dateiStream = null;
				try {
					dateiStream = new FileReader("D:/Quiz.txt");
				} catch (FileNotFoundException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
         		BufferedReader eingabeDatei = new BufferedReader(dateiStream);
         		
         		String zeile = null;
        		int anzahl;
        		
        		try {
					zeile=eingabeDatei.readLine();
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
        		anzahl=	Integer.parseInt(zeile);
        		
        	// Eine Zufallszahl erschaffen zischen 1 und anzahl
        		Random zufall = new Random();
        		int zufallszahl;
        		
        		while(true)
        		{
        			zufallszahl=zufall.nextInt(anzahl+1);
        			if(zufallszahl!=0)
        				break;
        			
        		}
        		
        		// die Zeile Lesen
        		for(int i=1; i<= zufallszahl;i++)
					try {
						zeile=eingabeDatei.readLine();
					} catch (IOException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
					
					are.append(String.valueOf(zeile));
              }  
         
     
             
         }
      }
     public DateiEingabe() {
 
            are = new TextArea();
            are.setBounds(20, 20, 300, 300);
            ausgeben = new Button("Ausgeben");
            ausgeben.setBounds(130, 330, 70, 30);
 
            
            this.setLayout(null);
            this.setVisible(true);
            add(are);
            add(ausgeben);
            ausgeben.addActionListener(new Lauscher());
        }
    public static void main(String[] args) throws IOException {
 
        DateiEingabe fenster =new DateiEingabe();
 
 fenster.pack();
 fenster.setSize(400, 400);
 fenster.setVisible(true); 
    }
}
 
versuch vielleicht alles in einen StringBuffer zu appenden und diesen im Anschluß an die are.append(StringBuf.toString()) zu übergeben
Java:
import java.awt.Button;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.util.Random;
 
import javax.swing.JFrame;
 
 
 
public class DateiEingabe extends JFrame {
 
    TextArea are;
    Button ausgeben;
 
    
 
     class Lauscher implements ActionListener
      {
         public void actionPerformed(ActionEvent e)
        
         
         { 
    
             String titel;
             titel = e.getActionCommand();
             if (titel.equals("Ausgeben"))
              {
      
                 FileReader dateiStream = null;
                try {
                    dateiStream = new FileReader("D:/Quiz.txt");
                } catch (FileNotFoundException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
                BufferedReader eingabeDatei = new BufferedReader(dateiStream);
                StringBuffer Puffer = new StringBuffer();
                String zeile = null;
                int anzahl;
                
                try {
                    zeile=eingabeDatei.readLine();
                } catch (IOException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
                anzahl= Integer.parseInt(zeile);
                
            // Eine Zufallszahl erschaffen zischen 1 und anzahl
                Random zufall = new Random();
                int zufallszahl;
                
                while(true)
                {
                    zufallszahl=zufall.nextInt(anzahl+1);
                    if(zufallszahl!=0)
                        break;
                    
                }
                
                // die Zeile Lesen
                for(int i=1; i<= zufallszahl;i++)
                    try {
                        zeile=eingabeDatei.readLine();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                    
                    Puffer.append(String.valueOf(zeile));
              }  
         
               are.append(Puffer.toString());
             
         }
      }
     public DateiEingabe() {
 
            are = new TextArea();
            are.setBounds(20, 20, 300, 300);
            ausgeben = new Button("Ausgeben");
            ausgeben.setBounds(130, 330, 70, 30);
 
            
            this.setLayout(null);
            this.setVisible(true);
            add(are);
            add(ausgeben);
            ausgeben.addActionListener(new Lauscher());
        }
    public static void main(String[] args) throws IOException {
 
        DateiEingabe fenster =new DateiEingabe();
 
 fenster.pack();
 fenster.setSize(400, 400);
 fenster.setVisible(true); 
    }
}
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben