Zum Inhalt springen

Verzeichnis mit Java auslesen


greif

Empfohlene Beiträge

Hallo,

ich möchte ein Verzeichnis, das mehrere Dateien enthält(diese haben die gleiche Endung und fast das selbe Struktur) mit Java auslesen anchliessend den Inhalt in ein JTable anzeigen lassen.

Bsp. einer Datei:

Output to %TEMP Z txt2ps -d 0.30 -if %TEMP | lp -d bondsett à? ð? ð? à? àPRINT.

wie gesagt alle Dateien enthalten nur solche Daten und möchte die so darstellen dass ich den Inhalt(paar Befehle) später auswerten kann.

für jede Hilfe bin sehr dankbar.

Gruss

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die Antwort.

also wie gesagt das Verzeichnis enthält mehrere Dateien vom selben Typ. Ich möchte dieses Verzeichnis komplett auslesen und den Inhalt der Dateien in Jtable auslesen.

Also die Dateien:

File1: ktiv-Passiv_Steuerung 4/1 - Tiny %TEMP @„ ÿ txt2ps -d 0.4 -if %TEMP | lp -d aps4_1

File2:

ktiv-Passiv_Steuerung 4/1 - Tiny %TEMP @„ ÿ txt2ps -d 0.4 -if %TEMP | lp -d aps4_1

File3:

ktiv-Passiv_Steuerung 4/1 - Tiny %TEMP @„ ÿ txt2ps -d 0.4 -if %TEMP | lp -d aps4_1

etc. also so ist mein Directory aufgebaut

Ziel : den Inahlt der Dateien in ein Jtable anzeigen lassen. mehr brauche ich zurzeit nicht .

ich hoffe ich konnte dir das Problem schildern

Danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin,

ich glaube eher, daß kingofbrain damit sagen will, daß er Dir bei einer Grobbeschreibung des Problems auch nur einen Lösungsansatz nennen kann.

Aber erst mal zu Deinem Problem: Die Klasse File im Paket java.io bietet Dir schon fast alle Fähigkeiten, die Du benötigst. Mit ihr kannst Du viele Informationen über Verzeichnisse und Dateien herausfinden. Um Dateien zu lesen benötigst Du ein Streamobjekt für diese Datei (oder einen Reader).

Das ist das grobe Konzept.

Um Dir ab hier weiterzuhelfen, müssen wir schon genauer Bescheid wissen. Z. B. ob Du Probleme mit dem Verständnis vom Umgang mit Dateien in Java hast, oder ob Du die Daten nicht in die JTable bekommst.

Greetz

Newlukai

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mh... Wieso willst Du das in einer JTable anzeigen? Sollen die Zeichenkette noch nach irgendetwas getrennt werden, sprich brauchts du mehrere Spalten oder willst du nur jeweils eine Spalte mit der Zeichenkette drin haben?

Auf jeden Fall kannst Du dir mal die Konstruktoren vom JTable oder vom DefaultTableModel angucken....

Gruß, Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was aber nicht heisst, dass wir Deine Aufgabe lösen werden.

Aber die Ansätze hast Du ja schon gehört. Hier nochmal zusammengefasst:

Klassen:

File: Informationen über Files und Directories

InputStream: Inhalte aus Dateien lesen

JTable: Darstellung der Inhalte

Vorgehen (pseudocode):

hole Directoryliste

iteriere durch Directory

    hole aktuelles File

    öffne und lese aktuelles File

    speichere Inhalt des Files in geeigneter Datenstruktur (z.B. String mit Fileinhalt an Collection (ArrayList) anhängen)

    File schliessen

nächstes File


iteriere durch Collection mit Fileinhalten

    aktuellen Fileinhalt in neues Row des JTable schreiben

nächster Fileinhalt

[EDIT]

Ach so, Hilfe zum allgemeinen Vorgehen: http://www.javabuch.de

[/EDIT]

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ja genau wäre nicht schlecht die Vorgehensweise zu beschreiben und vielleicht ein Code-Beispiel zu posten

Danke um Gruss

Moin,

ich glaube eher, daß kingofbrain damit sagen will, daß er Dir bei einer Grobbeschreibung des Problems auch nur einen Lösungsansatz nennen kann.

Aber erst mal zu Deinem Problem: Die Klasse File im Paket java.io bietet Dir schon fast alle Fähigkeiten, die Du benötigst. Mit ihr kannst Du viele Informationen über Verzeichnisse und Dateien herausfinden. Um Dateien zu lesen benötigst Du ein Streamobjekt für diese Datei (oder einen Reader).

Das ist das grobe Konzept.

Um Dir ab hier weiterzuhelfen, müssen wir schon genauer Bescheid wissen. Z. B. ob Du Probleme mit dem Verständnis vom Umgang mit Dateien in Java hast, oder ob Du die Daten nicht in die JTable bekommst.

Greetz

Newlukai

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich dachte die Java-Profi können ein Beispiel-Code in 3 óder 4 Minuten schreiben und den Anfängern helfen.
Und du glaubst, dass Code, den ich "mal eben" in drei oder vier Minuten produziere dir wirklich weiterhilft?

Du willst doch schließlich auch was lernen bei der ganzen Geschichte - ooooder?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Learning by copying? ;)

Setz doch den Pseudocode um!

File datei = new File("c:\\test\\"); 
String[] liste = new String[255];
liste = datei.list();
System.out.println("");
System.out.println("");
System.out.println("Verzeichnisliste:");
for(int i = 0; i < liste.length ; i++)
{
System.out.println(liste[i]);
} [/PHP]

So dann haste schonmal ne Liste der Dateien! ;)

Da bauste jetzt das öffnen und lesen und schliessen ein!

Link zu diesem Kommentar
Auf anderen Seiten teilen

public class lese {


	public static void main(String[] args) {

		File datei = new File("c:\\test\\");

		ArrayList inhalt = new ArrayList();

		String[] liste = new String[255];

		liste = datei.list();

		for (int i = 0; i < liste.length; i++) {

			byte buffer[] = new byte[100000];


			try {

				FileInputStream in;

				in = new FileInputStream("C:\\test\\" + liste[i]);


				int len = in.read(buffer);

				String str = new String(buffer, 0, len);

				inhalt.add(str);

				in.close();


			} catch (Exception e) {

				e.printStackTrace();

			}


		}

		for (int i = 0; i < inhalt.size(); i++) {

			System.out.println(inhalt.get(i).toString());

		}

	}

}

Das liest jetzt alle Dateien aus dem Verzeichnis und schreibt den Inhalt der Dateien in eine ArrayList!

Jetzt musst du die nur noch in deine JTable bringen!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...