Servus,
ich hab ein StringArray, das ich auf dem Client mit insgesamt 18 Strings fülle, welche ich mit getText() aus JTextFields hole.
Die Daten werden werden über einen ObjectOutputStream an den Server geschickt, der seinerseits mit einem ObjectInputStream die Daten annimmt und diese in eine .txt Datei (ebenfalls auf dem Server) abspeichert.
Das klappt auch alles hervorragend, nur leider werden die Buchstaben immer einzeln in die Datei geschrieben, Buchstabe für Buchstabe. Das ist nervend und nicht Sinn der Sache. Was kann ich dagegen tun!?
Hier mein Coding:
Client:
Server:
Vielen Dank für eure Tipps und Anregungen
ich hab ein StringArray, das ich auf dem Client mit insgesamt 18 Strings fülle, welche ich mit getText() aus JTextFields hole.
Die Daten werden werden über einen ObjectOutputStream an den Server geschickt, der seinerseits mit einem ObjectInputStream die Daten annimmt und diese in eine .txt Datei (ebenfalls auf dem Server) abspeichert.
Das klappt auch alles hervorragend, nur leider werden die Buchstaben immer einzeln in die Datei geschrieben, Buchstabe für Buchstabe. Das ist nervend und nicht Sinn der Sache. Was kann ich dagegen tun!?
Hier mein Coding:
Client:
Code:
public void removeUpdate(DocumentEvent arg0) {
try {
ObjectOutputStream out = new ObjectOutputStream(Main.skt.getOutputStream());
array[0] = Client.amount_art1.getText();
array[1] = Client.size_art1.getSelectedItem().toString();
array[2] = Client.pricefield_art1.getText();
array[3] = Client.amount_art2.getText();
array[4] = Client.size_art2.getSelectedItem().toString();
array[5] = Client.pricefield_art2.getText();
array[6] = Client.amount_art3.getText();
array[7] = Client.size_art3.getSelectedItem().toString();
array[8] = Client.pricefield_art3.getText();
array[9] = Client.customerText_salutation.getText();
array[10] = Client.customerText_firstname.getText();
array[11] = Client.customerText_surname.getText();
array[12] = Client.customerText_street.getText();
array[13] = Client.customerText_plz.getText();
array[14] = Client.customerText_city.getText();
array[15] = Client.country.getSelectedItem().toString();
array[16] = Client.customerText_phone.getText();
array[17] = Client.customerText_email.getText();
out.writeObject(array);
}
catch (IOException ex) {
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
}
Server:
Code:
public void saveTimer(){
Timer t = new Timer("Timer-Thread", true);
// Erstelle den Timer-Task als innere Klasse
TimerTask task = new TimerTask() {
@Override
public void run() {
try {
ObjectInputStream ips = new ObjectInputStream(Server.s.getInputStream());
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
String[] array = new String[18];
array = (String[])ips.readObject();
for(String i : array){
bw.flush();
bw.write(i + "\n");
bw.flush();
}
bw.close();
for(String o : array){
System.out.println(o);
}
}
catch (ClassNotFoundException ex) {
Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
} catch(IOException e){}
}
};
t.schedule(task,0,3000);
}
Vielen Dank für eure Tipps und Anregungen