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?
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);
}
}