Zu .txt inklusive Sonderzeichen

S

Spellsleeper

Gast
Hallo ,
ich schreibe gerade in meiner Ausbildung ein Programm das txtObjekte eines ERP splittet.
Dies tut es auch, allerdings werden die Sonderzeichen nicht wie gewünscht ausgegeben.
Kann mir jemand von euch einen Tipp geben?;)
Java:
package version1;

import java.io.*;

public class Reader {

	public void read(String oldPath) {
		String temp;
		boolean nearEnd;
		File directory=new File("C:\\NavObjekte");
		directory.mkdir();
		Writer writer = new Writer();

		try {
			BufferedReader br = new BufferedReader(new FileReader(new File(oldPath)));
			do {
				temp = br.readLine();

				nearEnd = false;
				int emptyLines = 0;
				if (temp.equals(null)) {
					emptyLines++;
				}
				if (temp.contains("OBJECT") && !(temp.contains(" OBJECT"))) {
					writer.produce("C:\\NavObjekte\\" + temp.trim()+".txt");
				}
				if (temp.contains("End."))
					
				{
					emptyLines = 0;
				}
				if (emptyLines >= 20) {
					nearEnd = true;
				}

				writer.write(temp);

			} while (!(nearEnd == true && temp==null));

		} catch (FileNotFoundException fnf) {
			System.out.println("Datei konnte nicht gefunden werden(fnf).");
			fnf.printStackTrace();
		} catch (IOException e) {
			System.out.println("IO-Fehler!!!");
			e.printStackTrace();
		}
		
	}

}



package version1;

public class ObjectSplitter {

	String oldPath;
	public static void main(String[] args) {
	
	GUI.frameSetter();

	}

}



package version1;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class Writer {
	public BufferedWriter x;

	public void produce(String newPath) {
		try {
			if (x != null) {
				x.flush();
				x.close();
			}
			BufferedWriter bw = new BufferedWriter(new FileWriter(new File(
					newPath)));
			x = bw;
		} catch (IOException io) {
			System.out.println("Datei konnte nicht erstellt werden(io).");
			io.printStackTrace();
		}
		
	}
	
	public void write(String newLine) {
		try {
			x.write(newLine + "\n");
		} catch (IOException io) {
			System.out.println("Datei konnte nicht erstellt werden(io).");
			io.printStackTrace();
		}
	}
}



package version1;
import javax.swing.*;
import javax.swing.border.BevelBorder;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class GUI   {

	public static void frameSetter(){
		
		
		JFrame frame =new JFrame("NAV.txt.ObjectSplitter");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(450,140);
		frame.setBackground(Color.darkGray);
		frame.setLocationRelativeTo(null);
		frame.setResizable(false);
		frame.setLayout(null);
		Font a=new Font("Arial",Font.BOLD,20);
		//Textfield
		final JTextField entry=new JTextField("C:\\ 'Dateipfad\\Name'");
		entry.setSize(400,30);
		entry.setBackground(Color.white);
		entry.setFont(a);
		//Button
		JButton command=new JButton("NAV-txt.Objekte Splitten");
		command.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
			String path=entry.getText();
			if(!path.contains(".txt")){
				path=path+".txt";
			}
			Reader reader=new Reader();
			reader.read(path);
			
			}
		});
		
		entry.setBounds(10,20,400,30);
		entry.setBorder(new BevelBorder(BevelBorder.RAISED));
		entry.setToolTipText("<html>Hier bitte den genauen Pfad der txt.Datei<br> mit den Objekten angeben!</html>");
		frame.getContentPane().add(entry);
		
		command.setBounds(210, 55, 200, 30);
		command.setBorder(new BevelBorder(BevelBorder.RAISED));
		frame.getContentPane().add(command);
		
		frame.setVisible(true);
		
	}		
}
 

Naaram

Mitglied
Zitat aus Oracle Doku zu FileReader

Convenience class for reading character files. The constructors of this class assume that the default character encoding and the default byte-buffer size are appropriate. To specify these values yourself, construct an InputStreamReader on a FileInputStream.

Frage: kann es sein das default platform encoding utf-8 aus und die Datei latin-1
 
S

Spellsleeper

Gast
Bin dahintergekommen ,
die Objekte konnten nur nicht mehr eingelesen werden weil Sonderzeichen in der Dateinamensgebung tabu sind, und die musste ich sowieso noch ändern.
Danke an alle die sich Gedanken gemacht haben.

Java:
package version1;

import java.io.*;

public class Reader {

	public void read(String oldPath) {
		String temp;
		boolean nearEnd;
		File directory=new File("C:\\NavObjekte");
		directory.mkdir();
		Writer writer = new Writer();

		try {
			BufferedReader br = new BufferedReader(new FileReader(new File(oldPath)));
			do {
				temp = br.readLine();
				
				nearEnd = false;
				int emptyLines = 0;
				if (temp.equals(null)) {
					emptyLines++;
				}
				if (temp.contains("OBJECT") && !(temp.contains(" OBJECT"))) {
					int index1=temp.indexOf(" ");
					int index2=temp.indexOf(" ",index1+1);
					int index3=temp.indexOf(" ",index2+1);
					String temp1=temp.substring(index1, index2);
					temp1+=(temp.substring(index2,index3));
					writer.produce("C:\\NavObjekte\\" + temp1.trim()+".txt");
					
				}
				if (temp.contains("End."))
					
				{
					emptyLines = 0;
				}
				if (emptyLines >= 20) {
					nearEnd = true;
				}

				writer.write(temp);

			} while (!(nearEnd == true && temp==null));

		} catch (FileNotFoundException fnf) {
			System.out.println("Datei konnte nicht gefunden werden(fnf).");
			fnf.printStackTrace();
		} catch (IOException e) {
			System.out.println("IO-Fehler!!!");
			e.printStackTrace();
		}
		
	}

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Power Point erstellen inklusive Diagramm Allgemeine Java-Themen 12
R Sonderzeichen aus Datei einlesen und in Datei ausgeben. Allgemeine Java-Themen 17
N iText keine Sonderzeichen und Umlaute unter Windows Allgemeine Java-Themen 13
J Sonderzeichen für Griechisch Allgemeine Java-Themen 2
E Sonderzeichen nicht setzbar: Großes Problem bei Programmierung unter Linux Mint mit Virtual Box Allgemeine Java-Themen 5
MiMa Sonderzeichen Dateiname Allgemeine Java-Themen 18
A Bestimmte Sonderzeichen im Regulären Ausdruck Allgemeine Java-Themen 2
W Sonderzeichen DACH ^ Allgemeine Java-Themen 6
M Kommandozeile und Sonderzeichen Allgemeine Java-Themen 2
A Input/Output Serialisierung Sonderzeichen Allgemeine Java-Themen 3
X Java String Regex - Sonderzeichen Filtern Allgemeine Java-Themen 5
J HTML-Sonderzeichen ersetzen Allgemeine Java-Themen 2
K _alle_ Sonderzeichen parsen Allgemeine Java-Themen 2
Q Sonderzeichen Ausgeben Allgemeine Java-Themen 8
L Das Sonderzeichen & Allgemeine Java-Themen 14
W Problem bei der Suche (binarySearch) vom deutschen Sonderzeichen "ß" im einem Array Allgemeine Java-Themen 6
data89 (Deutsche) Sonderzeichen in Java Allgemeine Java-Themen 3
W Nicht deustche sonderzeichen mit normalen Zeichenvergleichen Allgemeine Java-Themen 2
G Sonderzeichen für Files Allgemeine Java-Themen 5
M Sonderzeichen in String suchen Allgemeine Java-Themen 4
@ RegEx: Alle Sonderzeichen ausser dem Punkt Allgemeine Java-Themen 4
M Sonderzeichen bzw. deren Erkennung Allgemeine Java-Themen 3
W Sonderzeichen einlesen Allgemeine Java-Themen 3
M [Windows] Aufruf von Java mit Sonderzeichen im Classpath Allgemeine Java-Themen 5
karambara Sonderzeichen-Problem beim Lesen und Speichern von Dateien Allgemeine Java-Themen 6
byte Unicode Sonderzeichen Allgemeine Java-Themen 2
W Sonderzeichen in Access 97 schreiben Allgemeine Java-Themen 2
M Sonderzeichen; Javac auf Lin <-> Win Allgemeine Java-Themen 11
T Html aus einem String strippen + Sonderzeichen ersetzten Allgemeine Java-Themen 2
J sonderzeichen entfernen Allgemeine Java-Themen 6
N HTML Sonderzeichen Allgemeine Java-Themen 4
J URL Objekt zu File Objekt - wie lösche ich Sonderzeichen Allgemeine Java-Themen 3
H Maskieren von Sonderzeichen beim Dateien lesen Allgemeine Java-Themen 2
V Umlaute, sonderzeichen beim HTMLEditiorKit Allgemeine Java-Themen 2
M Sonderzeichen in einem Regex? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben