Methoden Dateien konvertieren

bebo

Neues Mitglied
Hallo,

wie kann man eine Text-Datei in eine andere Text-Datei konvertieren.
Das Programm muss eine Datei auslesen und nach der Konvertierung in die zweite Datei schreiben.
Das Problem ist, dass die Datei zum Auslesen keine Zeilenumbrüche enthält, sie besteht aber aus vielen Zeilen, jede Zeile ist 4096 lang (wahrscheinlich max Länge vom Editor).
Die Datei (Inhalt wie eine lange Zeichenkette) besteht aus vielen Sätzen, der erste Satz ist ein Vorlaufsatz, der immer 128 Zeichen lang ist, dann folgen zB. x Sätze je 380 Zeichen lang (also insgesamt x*380 Zeichen lang) und am Ende ein Nachlaufsatz 128 Zeichen lang.
Aus jedem Satz muss man bestimmte Informationen auslesen und in die Ausgabedatei ausgeben (Das Format ähnlich wie ausgelesene Datei auch ohne Zeileumbrüchen, nur andere Satzlänge
(erste Satz 256 lang dann x*300, und am Ende 256).
Ich hoffe dass ich mich verständlich ausgedruckt habe und ich wäre sehr dankbar für ein Beispiel.
 

Gucky

Top Contributor
In der ersten Datei stehen also bestimmte Befehle, die in einer anderen Datei umgesetzt werden sollen?
Die Befehle haben immer dieselbe bekannte Anzahl Zeichen.
Am Anfang und am Ende stehen immer bekannt viele Zeichen.

Du kannst die letzten 128 Zeichen erst mal abschneiden, sodass du weißt, wann die Sätze aufhören. Dann läufst du den String lang und suchst pro Satz nach Befehlen. Da werden dir der switch-case und enumerationen sehr helfen.

Wenn es dir hilft, kannst du den Text noch in Befehle einteilen und diese in einer Liste abspeichern.

Es ist nur ein bisschen mühsam, weil du in deiner Programmierung alle möglichen Befehle abdecken musst.

Das mit den fehlenden Zeilenumbrüchen ist egal. Die sind streng genommen nur zwei nervige Zeichen, die du irgendwie entfernen müsstest.

Die Vorgehensweise:
Du ließt den String ein.
Du machst irgendwas mit den ersten 128 Zeichen, dass die dich nicht stören und schneidest die letzten 128 Zeichen erst mal ab.
Du läufst am String entlang und suchst nach Befehlen, die du ausführen kannst.
Die Ausführungen schreibst du in einen weiteren String nach dem geforderten Format.
Nach 350 Zeichen vergisst du den vorherigen Befehl und suchst nach einem neuen.
Das machst du, bis du am Ende angekommen bist. Dann machst du irgendwas mit den letzten 128 Zeichen.




Für weiterführende Tipps fehlen mir Informationen. Was soll zu was werden? Hast du ein Beispiel?
 

bebo

Neues Mitglied
Hallo Gucky,

so wie Du vorgeschlagen hast, habe ich umgesetzt, und das funktioniert auch. Danke !!!:toll:

Ich lese InputStream (bei mir ein Satz) in einen String.Dann vearbeite ich den String so, daß ich ihn auf Vorlaufsatz, Nachlaufsatz und Rest aufteile.

Alles was Rest beihnaltet wird wieder auf die Sätze 384 Zeichen lang (Bodysatz) aufgeteilt.
Alle Sätze (Vorlaufsatz, Bodysatz, Nachlaufsatz) getrent mit 'r\n' werden in die Ausgabedatei geschrieben.
Die Ausgabedatei kann ich zeilenweise weiter vararbeiten (konvertieren).

Ich weiß noch nicht ob ein String für InputStraem eine Grenze hat und ob auf dieser Stelle was anders sinvoller wäre?
Ob man tokenizer für Aufteilung nutzen kann, wenn nur Size des Satzes bekannt ist?

:):):)



So sieht das Source aus:
Java:
public void verarbeite(String file_input, String path_input,
					   String file_output, String path_output
					  )
{

	try
	{
       
		in = new BufferedReader (new FileReader (path_input +  "\\" + file_input)); //geoefnet in append Modus
    	out = new BufferedWriter (new FileWriter (path_output +  "\\" + file_output)); //
	  
		String sZeile;
		int i=0;
        
		sZeile = in.readLine(); //Lese InputStream
			
	//hier wird InutStream auf einen Vorlaufsatz, Nachlaufsatz und  Rest  aufgeteilt
		String sVorlaufsatz = sZeile.substring(0,128);
		String sNachlaufsatz = sZeile.substring(sZeile.length()-128,sZeile.length());
		String sRest = sZeile.substring(128, sZeile.length()-128); //ohne Vorlaufsatz und ohne Nachlaufsatz
		
			
	//Schreibe den Vorlaufsatz
		out.write( sVorlaufsatz);
		out.write(System.getProperty("line.separator"));
		
			
	 // Hier wird Bodysatz auf einzelne Sätze mit Länge 384 aufgeteilt und
		while (i*384 < sRest.length())
		{
				int von =i*384;
				int bis = i*384 + 384;
				String sBodysatz = sRest.substring(von, bis);
				
				
			//schreibe den selektierten Satz aus Bodysatz
	    		out.write( sBodysatz);
				out.write(System.getProperty("line.separator"));
				
				von = bis;
				i++;
	   }
		
	//Schreibe den Nachlaufsatz
 	   out.write( sNachlaufsatz );
	   out.write(System.getProperty("line.separator"));
	   	
		
		
   
	
	}//Ende try
 

Gucky

Top Contributor
Also du ließt deinen Text ein, stückelst ihn, schreibst ihn in eine Datei und ließt ihn wieder ein?

Ich weiß nicht, wie viele Zeichen ein String haben kann aber es sind genug. Sollten es mal wider Erwarten nicht genug sein, dann stückelst du auch den in mehrere Teile und schreibst dann in eine Datei. Aber ich sags mal so: Die Bibel wurde auch an einem PC, der mit Strings arbeitet, geschrieben. Viele Zeichen sind also kein großes Problem (sofern der PC genug Speicher hat).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
I Dateien aus dem Resource Folder laden Java Basics - Anfänger-Themen 2
A Thread XML-Dateien zusammenfügen Java Basics - Anfänger-Themen 11
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
J Dateien lesen und schreiben Java Basics - Anfänger-Themen 5
B Jar Dateien ohne IDE verwenden? Java Basics - Anfänger-Themen 1
A Optimierung eines Programms: Mergen der Dateien Java Basics - Anfänger-Themen 23
A Zwei XML-Dateien Mergen Java Basics - Anfänger-Themen 14
A Input/Output Mehrere Csv-Dateien einlesen Java Basics - Anfänger-Themen 2
LetsSebi Dateien werden nicht in Zip gespeichert Java Basics - Anfänger-Themen 1
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
J Alle Dateien aus einem Verzeichnis laden Java Basics - Anfänger-Themen 10
MiMa log4j als separate Dateien in Schleife? Java Basics - Anfänger-Themen 6
M Scannen von *.txt - Dateien; wo sind der oder die Fehler? Java Basics - Anfänger-Themen 4
A Input/Output Dateien einlesen und ausgeben Java Basics - Anfänger-Themen 7
S Lese- / Schreibfähigkeit von Dateien sicherstellen Java Basics - Anfänger-Themen 1
C "HelloWorld" - Dateien erstellt, aber ist es eine class-Datei? Java Basics - Anfänger-Themen 2
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
L Classpath Alle Dateien im Classpath finden Java Basics - Anfänger-Themen 4
MiMa Formate für Dateien und Pfade? Java Basics - Anfänger-Themen 1
O Datei in mehrere kleine Dateien umwandeln Java Basics - Anfänger-Themen 47
L Richtige Reihenfolge der Dateien Java Basics - Anfänger-Themen 5
CptK Datentypen Text Dateien einlesen Java Basics - Anfänger-Themen 3
J Logging erzeugt zwei dateien.... Java Basics - Anfänger-Themen 7
A Dateien Verschieben Java Basics - Anfänger-Themen 1
M Mehre Dateien parallel kopieren mit Multithreading Java Basics - Anfänger-Themen 8
C Methoden Dateien im Ordner anzeigen Java Basics - Anfänger-Themen 12
J Java-Dateien lassen sich nicht editieren Java Basics - Anfänger-Themen 46
E FTP Dateien hochladen Java Basics - Anfänger-Themen 3
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
Korvinus Vergleichen von 2 csv-Dateien Java Basics - Anfänger-Themen 2
I Texte mit Absätzen in Dateien speichern und auslesen Java Basics - Anfänger-Themen 1
M "substring()" mit Dateien und Pfadangaben Java Basics - Anfänger-Themen 5
Voreck Jar Dateien Standart programm ändern Java Basics - Anfänger-Themen 12
K Dateien aus Source-Package verwenden Java Basics - Anfänger-Themen 10
B Dateien aus dem "resource" - Folder kopieren in Verzeichnis Java Basics - Anfänger-Themen 9
B Kopieren von Dateien mit Adminberechtigungen Java Basics - Anfänger-Themen 14
F Threads ftp4j, viele Dateien upload Java Basics - Anfänger-Themen 5
P Einen Ordner mit Dateien hochladen [FTP] Java Basics - Anfänger-Themen 2
X Dateien direkt hintereinander schreiben, Dateiname Java Basics - Anfänger-Themen 25
G Messwerte in 2 Dateien schreiben Java Basics - Anfänger-Themen 20
C Verarbeitung von sehr großen Dateien Java Basics - Anfänger-Themen 52
F Input/Output Dateien lesen/schreiben Java Basics - Anfänger-Themen 1
V Mehrere Dateien aus JFileChooser in eine ArrayList speichern Java Basics - Anfänger-Themen 2
K Dateien lesen | IndexOutOfBoundsException Java Basics - Anfänger-Themen 2
T Classpath Problem mit dem auslesen von Text-Dateien (Pfad) Java Basics - Anfänger-Themen 3
A attach source: Zusammenhang zwischen JAR und .class/.java Dateien? Java Basics - Anfänger-Themen 2
T .jar Datei als Ordner benutzen/ Dateien aus .jar Datei auslesen Java Basics - Anfänger-Themen 3
C Klassen Class Files nachladen (mehrer .jar Dateien) Java Basics - Anfänger-Themen 2
Bluedaishi for schleife um Dateien wieder zusammen zu fügen Java Basics - Anfänger-Themen 11
S Resourcen-Dateien im Jar-File verfügbar machen (Intellij 14) Java Basics - Anfänger-Themen 14
J Dateien für anderen User "mitgeben" Java Basics - Anfänger-Themen 1
S Dateien mit Java verschieben Java Basics - Anfänger-Themen 6
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
E Dateien werden nicht gelöscht Java Basics - Anfänger-Themen 10
S Class Dateien decompilieren Java Basics - Anfänger-Themen 4
T Fehler beim Schreiben in Dateien! Java Basics - Anfänger-Themen 4
Bluedaishi Dateien Lassen sich unter windows nicht löschen Java Basics - Anfänger-Themen 8
Z Mehrere XML-Dateien zu einer zusammenfügen Java Basics - Anfänger-Themen 3
K JAR Dateien einbinden - funkt nicht wie es sollte... Java Basics - Anfänger-Themen 22
M Threads nio Dateien kopieren, Threads und Gui Java Basics - Anfänger-Themen 0
J *.sql Dateien in Java Java Basics - Anfänger-Themen 1
P Dateien im Ordner auflisten. Java Basics - Anfänger-Themen 3
P Compiler-Fehler .java Dateien kompilieren und .class Dateien zur .jar Java Basics - Anfänger-Themen 4
S Daten aus anderen Dateien in neue Datei einlesen Java Basics - Anfänger-Themen 3
M Input/Output Arbeiten mit extrem vielen Dateien Java Basics - Anfänger-Themen 8
R File chooser Dateien in frame anzeigen lassen Java Basics - Anfänger-Themen 5
N tar-Dateien Java Basics - Anfänger-Themen 6
L Dateien speichern/auslesen Java Basics - Anfänger-Themen 5
M Input/Output Probleme beim Parsen von CSV und TXT Dateien Java Basics - Anfänger-Themen 7
P Wiedereinstieg und kann keine Dateien mehr öffnen... Java Basics - Anfänger-Themen 13
F Classpath Dateien einbinden und Classpath durchsuchen Java Basics - Anfänger-Themen 2
N Java Programm zum Suchen und Ersetzen von Text Dateien Java Basics - Anfänger-Themen 10
S Dateien/LinkedList/StringBuffer - SOrtierung klappt nicht so ganz Java Basics - Anfänger-Themen 2
U Best Practice Nicht-permanente Links auf Dateien Java Basics - Anfänger-Themen 5
B In welchem (Default) Pfad erstellt Java Dateien? Java Basics - Anfänger-Themen 4
I Methoden zum lesen und speichern von Dateien Java Basics - Anfänger-Themen 2
B .ut dateien ignorieren und fortsetzen Java Basics - Anfänger-Themen 9
R Ressourcen in JAR-Dateien Java Basics - Anfänger-Themen 2
J jar Dateien global erreichbar machen Java Basics - Anfänger-Themen 3
L Zusammenführen mehrerer .txt Dateien Java Basics - Anfänger-Themen 4
M Dateien erstellen/ bearbeiten/ lesen Java Basics - Anfänger-Themen 9
S Dateien in RAM kopieren und ausführen? Java Basics - Anfänger-Themen 4
O Java Dateien verschlüsseln? Java Basics - Anfänger-Themen 22
K Unterschied zwischen Jar, war und ear Dateien Java Basics - Anfänger-Themen 3
B Dateien kopieren, entpacken, XML auslesen! Java Basics - Anfänger-Themen 7
B Dateien Verschieben! Java Basics - Anfänger-Themen 8
B ältere Dateien verschieben Java Basics - Anfänger-Themen 3
G Erste Schritte Nach bestimmten Dateien suchen und dann in die Registry schreiben. Java Basics - Anfänger-Themen 6
J Laden von Dateien Java Basics - Anfänger-Themen 19
I Xml dateien zusammenfügen Java Basics - Anfänger-Themen 12
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
N Input/Output Große Dateien schnell Speichern/auslesen Java Basics - Anfänger-Themen 16
L Klassen Ich kann keine .jar Dateien mehr öffnen Java Basics - Anfänger-Themen 4
T Java Projekt als runnable jar file exportieren inklusive csv Dateien Java Basics - Anfänger-Themen 4
B Ordner in jar dateien einfügen Java Basics - Anfänger-Themen 4
FrozeTee .java Dateien unter Windows 7 werden nicht angezeigt Java Basics - Anfänger-Themen 7
D .jar Dateien hochladen Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben