Auslesen von Textdatei

wusli

Aktives Mitglied
Hallo,
Ich würde gern den text einer Textdatei auslesen und ihn in der Konsole ausgeben, jedoch muss die Textdatei vorher über eine Filedialog ausgewählt werden..

Hier mal mein bisheriger Quellcode:
Java:
import java.awt.EventQueue;


public class LicenseManager extends JFrame  {
	
	
	
    private JPanel contentPane;
    JLabel lbl = new JLabel("");
    FileDialog fd;
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					LicenseManager frame = new LicenseManager();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public LicenseManager() {
		setIconImage(Toolkit.getDefaultToolkit().getImage(LicenseManager.class.getResource("/org/eclipse/jface/contentassist/images/content_assist_cue.gif")));
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBackground(Color.BLACK);
		setFont(new Font("DialogInput", Font.PLAIN, 12));
		setTitle("License Manager");
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(0, 0, 0, 0));
		contentPane.setToolTipText("");
		contentPane.setBackground(Color.WHITE);
		setContentPane(contentPane);
		contentPane.setLayout(null);
	
		fd = new FileDialog(this, "Bitte eine Datei waehlen!", FileDialog.LOAD);
		
		JButton btnNewButton = new JButton("Datei \u00F6ffnen");
		btnNewButton.setBackground(SystemColor.control);
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				  fd.setVisible(true);  // FileDialog anzeigen
			      String chosenDir = fd.getDirectory(); // gewaehltes Verzeichnis
			      String chosenFile = fd.getFile();     // gewaehlter Dateiname
			      if (chosenDir == null || chosenFile == null) // beide == null bedeutet
			         System.out.println("Du hast den Dialog abgebrochen!"); // Abbruch!
			      else {
			         System.out.println("Du hast die Datei < " + chosenFile + " >");
			         System.out.println("im Verzeichnis < " + chosenDir + " > gewaehlt!");
			      }
			      fd.dispose(); // FileDialog-Fenster schliessen
			
			}
		});
		btnNewButton.setBounds(85, 210, 115, 23);
		contentPane.add(btnNewButton);
		

		
		JLabel lbl = new JLabel("");
		lbl.setBounds(38, 193, 46, 14);
		contentPane.add(lbl);
		
		JButton beenden = new JButton("Beenden");
		beenden.setBackground(SystemColor.control);
		beenden.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				System.exit(0);
			}
		});
		beenden.setBounds(264, 210, 89, 23);
		contentPane.add(beenden);
	
			
	}
	
	}

Wie kann ich das ganze Realiesieren??
Also Datei auswählen-> Textdatei-> Ausgabe Text in der Console

Danke im Vorraus 🙂
MFG Wusli
 
Wie kann ich das ganze Realiesieren??
Also Datei auswählen-> Textdatei-> Ausgabe Text in der Console

Java:
try {
     BufferedReader in = new BufferedReader(new FileReader("DeineDatei.txt"));
      // du kannst die Datei auch in eine Variable speichern (z.B. einen String)
      String zeile = null;

          while ((zeile = in.readLine()) != null) 
          {
	System.out.println("Gelesene Zeile: " + zeile);
           }
       } 

catch (IOException e) 
{
   e.printStackTrace();
}

jedoch muss die Textdatei vorher über eine Filedialog ausgewählt werden..

How to Use File Choosers
 
Zuletzt bearbeitet:
Java:
try {
     BufferedReader in = new BufferedReader(new FileReader("DeineDatei.txt"));
      // du kannst die Datei auch in eine Variable speichern (z.B. einen String)
      String zeile = null;

          while ((zeile = in.readLine()) != null) 
          {
	System.out.println("Gelesene Zeile: " + zeile);
           }
       } 

catch (IOException e) 
{
   e.printStackTrace();
}
reader oder sonstiges IMMER schliessen...
Java:
BufferedReader in = null;
try {
    in = new BufferedReader(new FileReader("DeineDatei.txt"));
      // du kannst die Datei auch in eine Variable speichern (z.B. einen String)
      String zeile = null;

          while ((zeile = in.readLine()) != null) 
          {
	System.out.println("Gelesene Zeile: " + zeile);
           }
       } 

catch (IOException e) 
{
   e.printStackTrace();
}
finally {
   if (in != null)  {
      // hier muss noch try/catch block rum
      in.close();
   }
}
 
Hab ich jetzt folgendermaßen gemacht:
Java:
public void actionPerformed(ActionEvent arg0) {
				  fd.setVisible(true);  // FileDialog anzeigen
			      String chosenDir = fd.getDirectory(); // gewaehltes Verzeichnis
			      String chosenFile = fd.getFile();     // gewaehlter Dateiname
			      if (chosenDir == null || chosenFile == null) // beide == null bedeutet
			         System.out.println("Du hast den Dialog abgebrochen!"); // Abbruch!
			      else {
			         System.out.println("Du hast die Datei < " + chosenFile + " >");
			         System.out.println("im Verzeichnis < " + chosenDir + " > gewaehlt!");
			         try {
			             BufferedReader in = new BufferedReader(new FileReader(chosenFile));
			              // du kannst die Datei auch in eine Variable speichern (z.B. einen String)
			              String zeile = null;
			         
			                  while ((zeile = in.readLine()) != null) 
			                  {
			            System.out.println("Gelesene Zeile: " + zeile);
			                   }
			               } 
			         
			        catch (IOException e) 
			        {
			           e.printStackTrace();
			        }
			      }
			      fd.dispose(); // FileDialog-Fenster schliessen
bekomm aber immer folgende Fehlermeldungen:
BufferedReader cannot be resolved to a type line 76
BufferedReader cannot be resolved to a type line 76
FileReader cannot be resolved to a type line 76
IOException cannot be resolved to a type LicenseManager.java line 86
 
upps....vergessen ^^ ja, muss geschlossen werden

@wusli: kannst ja direkt deine Variablen
Code:
chosenFile
und
Code:
chosenDir
verwenden


bekomm aber immer folgende Fehlermeldungen:
BufferedReader cannot be resolved to a type line 76
BufferedReader cannot be resolved to a type line 76
FileReader cannot be resolved to a type line 76
IOException cannot be resolved to a type LicenseManager.java line 86

du musst den BufferedReader und den FileReader erst importieren !
 
Zuletzt bearbeitet:
Hab jetzt den neuen Code eingebaut bekomm aber die selben Fehlermeldungen 😵

BufferedReader cannot be resolved to a type line 76
BufferedReader cannot be resolved to a type line 76
FileReader cannot be resolved to a type line 76
IOException cannot be resolved to a type LicenseManager.java line 86
 
Hab jetzt den neuen Code eingebaut bekomm aber die selben Fehlermeldungen 😵

BufferedReader cannot be resolved to a type line 76
BufferedReader cannot be resolved to a type line 76
FileReader cannot be resolved to a type line 76
IOException cannot be resolved to a type LicenseManager.java line 86

musste erst importieren:
Java:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
 
Java:
finally {
			            if (in != null)  {
			               // hier muss noch try/catch block rum
			               in.close();
			            }
			         }

Unhandled exception type IOException line 95


es ist zum Verzweifeln...

Hab den die java.io.* inzwischen auch importiert
 
naja, du "umhüllst" deinen Code mit try-catch:

Java:
finally {
                        if (in != null)  {
                           
                          // hier muss noch try/catch block rum
                          try
                          {
                            in.close();
                          }
                          catch (IOException er) 
                          {
                            er.printStackTrace();
                          }

                        }
                     }
 
Danke funktioniert jetzt 😉
Ich poste mal den Quellcode, falls jemand den mal brauch 😀
Java:
fd = new FileDialog(this, "Bitte eine Datei waehlen!", FileDialog.LOAD);
		
		JButton btnNewButton = new JButton("Datei \u00F6ffnen");
		btnNewButton.setBackground(SystemColor.control);
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				  fd.setVisible(true);  // FileDialog anzeigen
			      String chosenDir = fd.getDirectory(); // gewaehltes Verzeichnis
			      String chosenFile = fd.getFile();     // gewaehlter Dateiname
			      if (chosenDir == null || chosenFile == null) // beide == null bedeutet
			         System.out.println("Du hast den Dialog abgebrochen!"); // Abbruch!
			      else {
			         System.out.println("Du hast die Datei < " + chosenFile + " gewählt>");
			         System.out.println("im Verzeichnis < " + chosenDir + " > gewaehlt!");
			         BufferedReader in = null;
			         try {
			             in = new BufferedReader(new FileReader(chosenDir + chosenFile));
			               // du kannst die Datei auch in eine Variable speichern (z.B. einen String)
			               String zeile = null;
			          
			                   while ((zeile = in.readLine()) != null) 
			                   {
			             System.out.println("Gelesene Zeile: " + zeile);
			                    }
			                } 
			          
			         catch (IOException e) 
			         {
			            e.printStackTrace();
			         }
			         finally {
			            if (in != null)  {
			               // hier muss noch try/catch block rum
			            	try
	                          {
	                            in.close();
	                          }
	                          catch (IOException er) 
	                          {
	                            er.printStackTrace();
	                          }
	 
	                        }
			         }
			      fd.dispose(); // FileDialog-Fenster schliessen
			
			}
		}});
 

Neue Themen


Zurück
Oben