Textdateien in Ordner einlesen - unendlich ?

huckleberry

Bekanntes Mitglied
Hallo Forum.

ich habe ein Ordner mit vielen Textdateien. Diese will ich in irgendeiner Reihenfolge einlesen und in eine einzige Textdatei packen.

Java:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


public class CamExtractor {
	
	protected static final String		RFOLDER = "/home/huck/proggies/TextExtractor/textfiles";

	protected static File				hCam;
	protected static FileReader			hCamFR;
	protected static BufferedReader		hCamBFR;

	protected static File				hW;
	protected static FileWriter			hCamFW;
	protected static BufferedWriter		hCamBFW;

	
	public static void main(String[] args) {
		String folder;
		if (args.length < 2) {
			System.out.println("--> just "+args.length+" arguments");
			System.out.println("--> current folder: "+RFOLDER);
			folder = RFOLDER;
		} else {
			System.out.println("--> "+args.length+" arguments");
			System.out.println("--> current folder: "+args[1]);
			folder = args[1];
		}
		
		try {
			if (hW != null && hW.exists()) {
				hW.delete();
				hW = new File(folder, "cam.txt");
				hCamFW = new FileWriter(hW);
				hCamBFW = new BufferedWriter(hCamFW);
			} else {
				hW = new File(folder, "cam.txt");
				hCamFW = new FileWriter(hW);
				hCamBFW = new BufferedWriter(hCamFW);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		hCam = new File(folder);
		File[] aF = hCam.listFiles();
		scanDirectory(aF);
		System.out.println(" QUIT ");
				
		try {
			hCamFR.close();
			hCamBFR.close();
			hCamFW.close();
			hCamBFW.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	private static int scanDirectory(File[] currentFiles) {
		if (currentFiles==null || currentFiles.length==0) return -1;
 
		for (File file : currentFiles) {
//			if (file.isDirectory()) {
//            // falls notwendig
////				handleDir(file);
//				// rekursiver aufruf
//				scanDirectory(file.listFiles());
//				// falls notwendig: aktuelles verzeichnis löschen
//				file.delete();
//				continue;
//			}
			// aktuelle datei
			handleFile(file);
		}
		return 0;
	}
	
	private static int handleFile(File f){
		try {
			hCamFR = new FileReader(f);
			hCamBFR = new BufferedReader(hCamFR);
			String zeile;
			while( (zeile = hCamBFR.readLine()) != null ) {
				System.out.println(zeile);
				hCamBFW.write(zeile+"\n");
				hCamBFW.flush();
			}
			hCamBFW.flush();
			hCamFR.close();
			hCamBFR.close();
			hCamFR = null;
			hCamBFR = null;
			return 0;
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			return -1;
		} catch (IOException e) {
			e.printStackTrace();
			return -2;
		}	
	}
}

Das Programm läuft, jedoch bricht es nicht ab. Ich habe 45 einzelne Textfiles mit insgesamt 155 KB. Die neue Textdatei, welche alle enthält hat nach einigen Sekunden 50 Megabyte (!)..
Die Schleife bricht igendwie nicht ab?? Nach der letzten Datei fängt es glaub von vorne an?

Jemand Hinweise? Ich danke!

Mfg Huck
 
S

SlaterB

Gast
das Problem dürfte sein, dass du in dasselbe Verzeichnis schreibst wie du auch liest,
die Ausgabe-Datei ist also eine der Input-Dateien und bei dir dürfte es eine Endlosschleife geben, dass alles was du schreibst auch wieder gelesen wird, wieder geschrieben usw.
 
Zuletzt bearbeitet von einem Moderator:

huckleberry

Bekanntes Mitglied
Genau!
Die ausgabedatei ist in dem Array File[] mit enthalten. Also wird, wenn die Ausgabedatei drankommt jedesmal eingelesen und in ihr wird geschrieben. Wodurch sie wieder eingelesen wird. usw.. da sie ja stets neue Zeilen hinzubekommt.

Java:
			System.out.println("--------> "+file.getName());
			if (file.getName() != "cam.dat") {
				handleFile(file);
			}

funzt auch net? Jemand Tipps?
 
S

SlaterB

Gast
und cam.txt wird mit cam.dat auch nicht equal sein,
eine Sekunde überlegen muss doch drin sein ;)

am besten eine Variable für den Dateinamen anlegen
 

PrincE

Aktives Mitglied
hier vielleicht noch mal ein bisschen anders:

Java:
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

public class mehrere_txt_in_eine_txt
{
	public static String text = "";
	
	public static void main(String[] args) throws IOException
	{
		// Dateinamen musste hier befüllen
		String[] dateinamen = { "test1.txt","test2.txt" };
		
		// die Datei die befüllt werden soll
		String dateiname_fueller = "fueller.txt";
		
		for(int i = 0; i < dateinamen.length; i++)
		{
			readFile("Ordner\\",dateinamen[i]);
		}
	
		writeFile("",dateiname_fueller);
	}
	
	public static void writeFile(String path, String name) throws IOException
	{
		File file = new File(path+name);
		PrintWriter printWriter = new PrintWriter(file);
		printWriter.println(text );
		printWriter.flush();
	}
	
	public static void readFile(String path, String name) throws IOException
	{
		File file = new File(path+name);
		Scanner scanner = new Scanner(file);
			
		while(scanner.hasNext())
		{
			text = text + scanner.nextLine() + "\n";
		}
	}
}
 
Zuletzt bearbeitet:
S

SlaterB

Gast
@PrincE

Methoden und Variablen bitte unbedingt klein schreiben ;)

edit:
ohwe zum Name
 
Zuletzt bearbeitet von einem Moderator:

PrincE

Aktives Mitglied
@SlaterB

habs editiert wird mir aber sicher öfter passieren

PrincE mit einem 'E' ^.^


edit:
das bezog sich nur auf die Namenskonvention wenn du den Zusammenhang nicht verstanden hast^^
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
F Input/Output 2 Textdateien mit einander vergleichen Java Basics - Anfänger-Themen 11
_0815_ Problem mit dem Automatischen eintragen in Textdateien Java Basics - Anfänger-Themen 1
S 4 große Textdateien zu einer Mergen Java Basics - Anfänger-Themen 5
K Textdateien vergleichen optimieren Java Basics - Anfänger-Themen 9
Z Textdateien einlesen und verarbeiten Java Basics - Anfänger-Themen 3
Bluedaishi Textdateien splitten, neu schreiben Java Basics - Anfänger-Themen 13
T mehrere Benutzer greifen auf Textdateien zu Java Basics - Anfänger-Themen 3
H Vergleichen mit mehreren Textdateien Java Basics - Anfänger-Themen 2
MilchToast Teilstrings aus unbekannt großen Textdateien extrahieren. Java Basics - Anfänger-Themen 5
B Textdateien erweitern Java Basics - Anfänger-Themen 7
A Zugriff auf Textdateien und Datenbanken Java Basics - Anfänger-Themen 3
D textdateien manipulieren, welche klasse? wie? Java Basics - Anfänger-Themen 8
T Textdateien mit Unicode-Zeichen kopieren Java Basics - Anfänger-Themen 2
F mehrer Textdateien Inhalte in eine TXT Datei Java Basics - Anfänger-Themen 16
H in Textdateien etwas schreiben bzw. speichern Java Basics - Anfänger-Themen 2
cowabunga1984 Auslesen von Informationen aus Textdateien Java Basics - Anfänger-Themen 2
J in Textdateien speichern - aus Textdateien auslesen Java Basics - Anfänger-Themen 5
G Textdateien bearbeiten Java Basics - Anfänger-Themen 22
G Bilder und Textdateien aus jar einbinden Java Basics - Anfänger-Themen 7
F Zugriff auf Textdateien über URL Java Basics - Anfänger-Themen 2
E Zwei Textdateien in eine kopieren Java Basics - Anfänger-Themen 5
M Wo den Ordner javafx-sdk-21.0.2 unter Linux ablegen? Java Basics - Anfänger-Themen 5
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
E Javamail Gesendet ordner Java Basics - Anfänger-Themen 1
E Outlook ordner auslesen Java Basics - Anfänger-Themen 4
L Ordner in neuen erstellten Ordner erstellen Java Basics - Anfänger-Themen 12
T src Ordner ausführen Java Basics - Anfänger-Themen 9
M Pfadprobleme - Zugriff auf einen Ordner im Workspace Java Basics - Anfänger-Themen 17
B Name von Verzeichnis bekommen - Files von einem Ordner auslesen Java Basics - Anfänger-Themen 4
L Files verschieben in einen Ordner Java Basics - Anfänger-Themen 87
Henri Mehrere Ordner umbenennen Java Basics - Anfänger-Themen 11
J Eclipse Einrichten : Umzug in anderen Ordner Java Basics - Anfänger-Themen 2
N Project layout eclipse ( seperate ordner für klassen ? ) Java Basics - Anfänger-Themen 1
F Ordner auf alle Unterdatein abfragen Java Basics - Anfänger-Themen 3
F Zeile in Ordner Java Basics - Anfänger-Themen 4
J variablePathPart ändern nach dem Ordner abgearbeitet worden ist Java Basics - Anfänger-Themen 1
das_leon Auf Ordner zugreifen (Vollzugriff) Java Basics - Anfänger-Themen 2
MR._FIRE_Flower Ordner im Explorer öffnen lassen Java Basics - Anfänger-Themen 2
C Methoden Dateien im Ordner anzeigen Java Basics - Anfänger-Themen 12
L Ordner Zippen Java Basics - Anfänger-Themen 2
L Ordner zusammenlegen Java Basics - Anfänger-Themen 3
J Java Ordner Erstellung nicht möglich. Java Basics - Anfänger-Themen 3
G Input/Output Aus txt-Datei lesen, aus Ordner Java Basics - Anfänger-Themen 1
M Ordner mit Inhalt löschen Java Basics - Anfänger-Themen 7
M Erste Schritte Ordner im selber Verzeichnis wählen Java Basics - Anfänger-Themen 1
D Input/Output Ordner aus .Jar in das Verzeichnis der .Jar kopieren Java Basics - Anfänger-Themen 1
P Einen Ordner mit Dateien hochladen [FTP] Java Basics - Anfänger-Themen 2
agent47 Input/Output Ordner/Datei Rekutrsiv erstellen und Java Basics - Anfänger-Themen 8
S Prüfen ob bestimmter Ordner geöffnet ist (Windows XP) Java Basics - Anfänger-Themen 5
D Ordner der Ausgeführten Datei erhalten Java Basics - Anfänger-Themen 4
P newbie- Frage zu Ordner-Projektstruktur Java Basics - Anfänger-Themen 3
L Herunterladbares Java Programm in bestimmten Ordner speicher Java Basics - Anfänger-Themen 3
M Input/Output Ordner erstelen? Java Basics - Anfänger-Themen 12
A Ordner zippen Java Basics - Anfänger-Themen 10
T .jar Datei als Ordner benutzen/ Dateien aus .jar Datei auslesen Java Basics - Anfänger-Themen 3
J Ordner unter Windows Verstecken Java Basics - Anfänger-Themen 2
D Ordner auf Desktop erstellen(Pc unabhängig) Java Basics - Anfänger-Themen 3
M Neuen Ordner im Überverzeichnis erstellen, und dadrin arbeiten Java Basics - Anfänger-Themen 4
I Ordner schnell durchlesen Java Basics - Anfänger-Themen 11
I ZIP Archive erstellen - ich möchte aber nur den jeweiligen Ordner zippen, bekomme ganzen Pfad Java Basics - Anfänger-Themen 1
I Datei schreiben, im Klassen-Ordner Java Basics - Anfänger-Themen 15
P Dateien im Ordner auflisten. Java Basics - Anfänger-Themen 3
V bin und src Ordner Java Basics - Anfänger-Themen 3
M JFS- Ordner von faces-config.xml Java Basics - Anfänger-Themen 2
M JFileChooser Ordner auswählen Java Basics - Anfänger-Themen 5
C src-Ordner in jar-Datei (Eclipse) Java Basics - Anfänger-Themen 4
S Datei ausführen, verschiedene Ordner Java Basics - Anfänger-Themen 2
B Ordner leeren/löschen Java Basics - Anfänger-Themen 5
M Java-Datei in Ordner Kopieren Java Basics - Anfänger-Themen 12
X Wieso mehrere JRE ordner? Java Basics - Anfänger-Themen 8
N Kein Zugriff auf Ordner -> NullPointerException Java Basics - Anfänger-Themen 2
I Dateien in Ordner und Unterordner durchsuchen Java Basics - Anfänger-Themen 18
J Markierte Einträge (Dateien) in JList sollen in einen anderen Ordner verschoben werden. Java Basics - Anfänger-Themen 12
D Compiler-Fehler Klasse wird im selben Ordner nicht gefunden Java Basics - Anfänger-Themen 5
J Markierte Items in einer JLIST in einen Ordner verschieben Java Basics - Anfänger-Themen 2
S Bearbeiting von xml-Datei in src-Ordner möglich?i Java Basics - Anfänger-Themen 5
B res-Ordner für Text- und Bilddateien Java Basics - Anfänger-Themen 23
B Ordner in jar dateien einfügen Java Basics - Anfänger-Themen 4
M Java Eclipse IDE erstellt keinen Bin Ordner. Java Basics - Anfänger-Themen 10
F Kopieren von Ordner sammt inhalt Java Basics - Anfänger-Themen 5
V Ressourcen aus Ordner nutzen Java Basics - Anfänger-Themen 5
W Ordner "auslesen" Java Basics - Anfänger-Themen 18
R Aus jar Ordner lesen Java Basics - Anfänger-Themen 27
F Auf Ordner im selben Verzeichniss zugreifen Java Basics - Anfänger-Themen 3
K Input/Output Verschiedene Ordner für Java u.v.m. Projekte Java Basics - Anfänger-Themen 3
P Problem :Java-Dateien in einem Ordner ablegen Java Basics - Anfänger-Themen 10
S Ordner / Package Struktur bei größerem Projekt? Java Basics - Anfänger-Themen 8
O Erste Schritte Runnable Jar <- Ordner Fehlen Java Basics - Anfänger-Themen 6
D höchster ordner in zip datei Java Basics - Anfänger-Themen 14
J Ordner und Unterordner nach Dateien durchsuchen Java Basics - Anfänger-Themen 7
M Dateipfad: einen Ordner "hoch" Java Basics - Anfänger-Themen 11
M Input/Output Namen der Files aus einem Ordner MIT bestimmten Encoding auslesen? Java Basics - Anfänger-Themen 3
L Größe von Ordner wiedergeben Java Basics - Anfänger-Themen 4
M Applet soll Bilder aus Ordner lesen Java Basics - Anfänger-Themen 9
V .cab Dateien im Win Profil Ordner? Java Basics - Anfänger-Themen 5
eLogic Ordner kopieren/schreiben Java Basics - Anfänger-Themen 2
D Ordner in Eclipse Importieren Java Basics - Anfänger-Themen 6
F Ordner in JAR scannen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben