Textfile erstellen

Morinho

Aktives Mitglied
Hallo Zusammen,

mit folgendem Code wandel ich ein Textfile mit Ascii Code in ein Textfile mit normalen Daten um.

Leider schreibt er oben im Header trotzdem manche Leerzeichen mit und ich komm nicht drauf wieso.

Ich hoffe jemand findet den Fehler oder kann mir einen Tipp geben.

Java:
package testabc;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class AsciiTestConvert {

	public static void main (String args[]) throws FileNotFoundException{
		String file = "D:\\test4.0.TXT";
		FileInputStream fis = new FileInputStream(file);
		BufferedInputStream bufFis = new BufferedInputStream (fis);
		PrintWriter pWriter = null;
		BufferedReader reader;
		
			try{
			//Ruby Variablen:
			int j = 0;
			int i = 0;
			
			pWriter = new PrintWriter (new BufferedWriter(new FileWriter("D:\\test3.0.txt")));
			reader = new BufferedReader (new FileReader(file));
			String a = reader.readLine(); //erste Zeile wird eingelesen
			
			//Header einlesen			
				while (i<1024){
					if (i != 0){
						if (i % 32 == 0){
							pWriter.write(";"); //Am Ende jeder Zeile wird ein Semikolon eingefügt
							pWriter.println(); //Zeilenumbruch in die nächste Zeile
						} //if-Bedingung ende
					} //if-Bedingung ende
					
					char c = a.charAt(i); //byteweise einlesen und Wert als Charakter senden
					
					if (c == 32){

					}
					else{
							if (c == 58){
								pWriter.write(c + ";"); //nach einem ":" ein Semikolon einfügen
							} //if-Bedingung ende
							else{
								pWriter.write(c);
							} //else-Bedingung ende
							
					//count nr of channels: Anzahl der Kanäle ermitteln ("/" <- j zählen)
							if (c == 47){
								j = j+1;
							} //if-Bedingung ende
					} //else-Bedingung ende
					i = i+1;
				} //while-Schleife ende
				
				
				
				j = j*2;
				//jeder Kanal hat 2 Zeichen
				pWriter.println(); //neue Zeile einfügen
				
				
				
				//lese die Messdaten bis Dateiende
				while ((reader.readLine()) != null){
					//lese die Messdaten (Anzahl der Kanäle x2) ein und gebe sie als Dezimalzahl aus
					for (int b = 0; b <= j-1; b++){
						int x = reader.read();
						pWriter.print(x + ";");
					} //for-Schleife ende
				pWriter.println();		//Zeilenumbruch hinzufügen
				} //while-Schleife ende
				
				
			} //try-Anweisung ende
			
			catch(IOException ex){
				ex.printStackTrace();
			} //catch-Anweisung ende
			
			finally{
				if (pWriter != null){
					pWriter.flush();
					pWriter.close();
				} //if-Bedingung ende
			} //finally-Anweisung ende
		}
	
}

Unbenannt.PNG
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    15,8 KB · Aufrufe: 32
Zuletzt bearbeitet von einem Moderator:

Morinho

Aktives Mitglied
Code:
if(c == 32){

}

Diese if-Abfrage überprüft ob das eingelesene Zeichen ein Leerzeichen ist den in hex ist laut Ascii Code Tabelle das Leerzeichen die 32.

Habe es mit 0x20 auch ausprobiert kommt das gleiche heraus mit den Leerzeichen.
 
Zuletzt bearbeitet:

kaeru

Mitglied
Hallo Morinho,

bist Du denn sicher, dass es sich bei den "Leerzeichen" wirklich um ascii(32) handelt?
Oder sind vielleicht auch Tabulator-Zeichen (ascii(9)) oder andere "unsichtbare" Zeichen dabei?

Grüße,
kaeru
 

Morinho

Aktives Mitglied
Hallo Morinho,

bist Du denn sicher, dass es sich bei den "Leerzeichen" wirklich um ascii(32) handelt?
Oder sind vielleicht auch Tabulator-Zeichen (ascii(9)) oder andere "unsichtbare" Zeichen dabei?

Grüße,
kaeru

Hallo kaeru,

es sind wirklich Leerzeichen habe nämlich schon sämtliche unsichtbaren Zeichen meiner If-Abfrage inzwischen angefügt und es geht immernoch nicht.

Aber trotzdem danke für den Tipp. :)



Moin,

schon mal versucht, die einzelnen String einfach zu trimmen ??

Gruß
Klaus

Hallo Klaus,

wie genau meinst du das mit dem trimmen?
 

X5-599

Top Contributor
Er arbeitet Zeichenweise. Nicht Zeilenweise. Die trim() Methode nutzt ihm also gar nichts.

@Morinho

Füge doch mal nach der Zeile 50 (wo du alle Zeichen printest die kein ';' angehängt bekommen) diesen System.out ein:
Code:
System.out.println(c + "(" + (int)c + ")");
Dann bekommst du viele Zeilen die z.b. so aussehen:
M(77)
a(97)

etc.
Wenn dann da ein Leerzeichen auftaucht, kannst du in den Klammern sehen welcher tatsächliche Integer da durch kommt. z.B.:
' '(2001)
' '(14)
Diese Integers der Leerzeichen sind nur ausgedacht! Ist nur als Beispiel gedacht.

EDIT: führende Leerzeichen werden hier nicht dargestellt. Hab mal das Leerzeichen mit '' umrahmt.
 
Zuletzt bearbeitet:

Morinho

Aktives Mitglied
Perfekt hat funktioniert und zwar war der Integer des Ascii Codes zu den Leerzeichen eine 0 keine Ahnung wieso aber jetzt klappts danke.
 

X5-599

Top Contributor
Würde gehen. Wenn man auch Zeilenweise arbeiten darf. Ich gehe aber davon aus, dass wenn er Zeichenweise arbeitet das auch irgendwo eine Vorgabe ist.

EDIT:
blödsinn geschrieben
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Klassen Zugriff auf ein Textfile aus allen Klassen. Allgemeine Java-Themen 2
S Prüfen ob Textfile existiert Allgemeine Java-Themen 9
eskimo328 Textfile nach Stromausfall leer Allgemeine Java-Themen 5
T Input/Output Zeilenumbrüche beim exportieren in eine Textfile Allgemeine Java-Themen 7
D welchen line brak benutzt ein geg. textfile Allgemeine Java-Themen 3
K Scanner - große Textfile, nur 0 ab betim. Wert Allgemeine Java-Themen 4
N Encoding Unicode Textfile Allgemeine Java-Themen 5
E TextFile in Array reinspeichern Allgemeine Java-Themen 3
G HTML-Datei einlesen, Plain Text in Textfile speichern Allgemeine Java-Themen 4
P Textfile -> Array -> JTable Allgemeine Java-Themen 9
P Textfile Encoding herausfinden Allgemeine Java-Themen 2
F Umlaute: E-Mail per JavaMail und Textfile Allgemeine Java-Themen 5
I Attribute in Textfile auslesen Allgemeine Java-Themen 13
M Zugriff auf Resource (Textfile) in einem Jar? Allgemeine Java-Themen 2
S TextFile aus JAR auslesen Allgemeine Java-Themen 3
R In Textfile schreiben - append Allgemeine Java-Themen 5
Zrebna Testkonzept erstellen - Verständnisschwierigkeiten Allgemeine Java-Themen 6
dokan wie kann ich eine funktionierende Suchleiste erstellen Allgemeine Java-Themen 1
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
berserkerdq2 SceneBuilder GUI erstellt, nun muss ich noch ein Polygon erstellen, ist die Connection möglich? Allgemeine Java-Themen 3
berserkerdq2 Was heißt es mit FXML Listener zu setzen ind Buttons zu erstellen? Allgemeine Java-Themen 6
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
D Open Source Library zum erstellen von PDFs Allgemeine Java-Themen 1
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
J Power Point erstellen inklusive Diagramm Allgemeine Java-Themen 12
F IDEA IntelliJ Java Songliste erstellen Allgemeine Java-Themen 6
N Tree erstellen Allgemeine Java-Themen 8
berserkerdq2 Threads, wie genau läuft das in Java ab? (Ich kann Threads erstellen und nutzen, nur das Verständnis) Allgemeine Java-Themen 6
berserkerdq2 Kann keine Labels erstellen, was ist hier syntaktisch falsch Allgemeine Java-Themen 5
_user_q Verknüpfung einer .jar-Datei (liegt z. B. auf dem Desktop) im Autostart-Ordner erstellen? Allgemeine Java-Themen 20
stormyark Problem beim Klassen erstellen Allgemeine Java-Themen 1
A Trace-Tabelle erstellen Allgemeine Java-Themen 3
M Excel Datei Erstellen Allgemeine Java-Themen 2
OnDemand Erstellen von Quartz Jobs pro Aufgabe oder zusammenfassen Allgemeine Java-Themen 7
H Matrix ohne Array erstellen Allgemeine Java-Themen 9
R Geometry erstellen die abhängig von Variablen ist Allgemeine Java-Themen 6
Gaudimagspam Skip Liste erstellen in Java Allgemeine Java-Themen 3
Avalon DTO aus mehrere Entitäten erstellen Allgemeine Java-Themen 5
Kirby.exe Distanz Map für die Distanztransformation erstellen Allgemeine Java-Themen 1
Avalon Data Transfer Objekte aus Datenbank erstellen Allgemeine Java-Themen 8
M Registry Autostart Eintrag mit Java erstellen (über Windows cmd) Allgemeine Java-Themen 7
B .txt Datei erstellen und auslesen bzw. schreiben Allgemeine Java-Themen 6
M Java 2D Array für ein Grid erstellen ? Allgemeine Java-Themen 2
B Datei/Ordner auf Server zugreifen/erstellen Allgemeine Java-Themen 2
T Objekt mit String und Int aus TxT Datei erstellen Allgemeine Java-Themen 23
M Rectangle mit Java erstellen? Allgemeine Java-Themen 9
G Fläche erstellen mit Entfernungen Allgemeine Java-Themen 1
E Eigenen "Aufzählungstyp" erstellen - mit enum ? Allgemeine Java-Themen 18
T Multithreading: Wie viele Threads sollte ich erstellen? Allgemeine Java-Themen 12
B Rangliste erstellen Allgemeine Java-Themen 13
D 2,3-Baum rekursiv erstellen Allgemeine Java-Themen 20
D Datentypen 2-3 Baum erstellen mit geordnetem int-array Allgemeine Java-Themen 0
L SQL Datei in Eclipse erstellen Allgemeine Java-Themen 3
J Datenstruktur für eine Map erstellen Allgemeine Java-Themen 2
J File in Package erstellen & lesen mit Programmstart in externe Projekt Allgemeine Java-Themen 3
E Erstellen einer Liste mit einer maximalen Menge an Elementen Allgemeine Java-Themen 13
E Ts3API Subchannel erstellen und rein moven !! Allgemeine Java-Themen 0
J Eigene Api erstellen und dann auch verwenden - Ordnerstruktur Allgemeine Java-Themen 1
S GetMethode erstellen mit Hilfe von Parametern Allgemeine Java-Themen 9
T 2D-Grafik Chart als Image erstellen Allgemeine Java-Themen 3
I Fehler beim Ant-Package erstellen mit Java 9 Allgemeine Java-Themen 1
N Bei Mouse Events nicht mehrere Objekte erstellen Allgemeine Java-Themen 13
S Compiler-Fehler IntelliJ Projektdatei lässt sich nicht erstellen. Allgemeine Java-Themen 15
M 2D Array mit unterschiedlichen Längen erstellen und befüllen Allgemeine Java-Themen 11
E Swing Buttons auf knopfdruck(anderer Button) erstellen Allgemeine Java-Themen 6
S TestNG Eclipse: Reporting erstellen/ verändern Allgemeine Java-Themen 0
F .jar erstellen und starten Allgemeine Java-Themen 15
M Array aus Thread Objekten erstellen Allgemeine Java-Themen 2
N 1000 MQTT Messages die Sekunde - 1000 Threads erstellen ? Allgemeine Java-Themen 10
Tommy Nightmare Klassen Globale Klassen erstellen Allgemeine Java-Themen 7
K Datei (CSV-ähnlich) in Java einlesen & mit teil der Daten Graphen erstellen Allgemeine Java-Themen 9
S Maven Jars dynamisch laden / Plugin-Struktur erstellen Allgemeine Java-Themen 14
T 32-Bit Applikationen mit Eclipse erstellen Allgemeine Java-Themen 4
R Input/Output RTF erstellen? Allgemeine Java-Themen 2
G Liste zwischen zwei Kalenderdaten erstellen Allgemeine Java-Themen 3
S Klassen Klassen "virtuell" erstellen Allgemeine Java-Themen 5
P mehrer Verschiedene Objekte in einer Klasse erstellen. Allgemeine Java-Themen 4
M Dokument erstellen Allgemeine Java-Themen 0
S Java API für GitHub erstellen Allgemeine Java-Themen 14
T Ant Jar Datei per Ant in Eclipse erstellen Allgemeine Java-Themen 2
4a61766120617274697374 Hintergrundjobs(tasks) in Java erstellen Allgemeine Java-Themen 3
K Eigene API erstellen? Allgemeine Java-Themen 13
N Benutzeroberfläche erstellen Allgemeine Java-Themen 5
Thallius Eigenes Message Center erstellen Allgemeine Java-Themen 3
perlenfischer1984 Mehrere Komponenten erstellen Allgemeine Java-Themen 3
B jni - Headerdatei erstellen Allgemeine Java-Themen 3
Neumi5694 Operatoren regEx für das Erstellen eines Strings verwenden Allgemeine Java-Themen 3
I Methoden Schnelle Hilfe benötigt - Kleines Video/Slideshow aus mehreren Bildern erstellen Allgemeine Java-Themen 3
B automatisch benannte arrays erstellen Allgemeine Java-Themen 9
F URI-Scheme mit Java unter MacOS erstellen? Allgemeine Java-Themen 0
S Mit Generics Klasse erstellen die selbst T erweitert..? Allgemeine Java-Themen 4
J Java Software Compare Files und Neue File erstellen Allgemeine Java-Themen 0
L Wie kann ich einen Keystore aus existierenden Zertifikaten erstellen? Allgemeine Java-Themen 1
K Fehler beim erstellen von .jar Datei Allgemeine Java-Themen 3
D Ordner auf Desktop erstellen(Pc unabhängig) Allgemeine Java-Themen 5
T Dll erstellen und einbinden Allgemeine Java-Themen 1
M Exceltabelle in Java erstellen und Werte einlesen Allgemeine Java-Themen 32
P Eigenstehende *.exe Datei erstellen Allgemeine Java-Themen 15
R Test Umgebung für Datenbank erstellen, was braucht es? Allgemeine Java-Themen 14
B MySQL Eintrag erstellen Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben