Hallo allerseits!
Ich schreibe zur Zeit an einer kleinen Anwedung, welche unter anderem mir auch eine Diskette
formatieren soll. Dazu rufe ich per runtime... den Dos Format Befehl inkl. Parameter auf. Daraufhin
mache ich ein waitFor(), damit mein Programm wartet bis die Formatierung beendet ist, und erst
danach sollen Dateien auf die Diskette geschrieben werden.
Nun mein Problem: Mein Programm hat eine kleine mit Swing geschriebene Oberfläche
bekommen. Leider tut sich da während er wartet bis die Formatierung beendet ist gar nichts. Wäre
ganz schon wenn ich wenigstens in meiner jTextArea was angezeigt bekommen würde.
Alles was in der TextArea angezeigt werden soll, schreibt er erst nach der kompletten Abarbeitung rein.
Wäre schön wenn er auch mir am Anfang wenigstens schreibt:
("Bitte warten bis Formatierung der Diskette beendet ist")
Hoffe Ihr könnt mir weiterhelfen. Vielen dank auf jeden fall schon einmal. MFG Alex
Ich schreibe zur Zeit an einer kleinen Anwedung, welche unter anderem mir auch eine Diskette
formatieren soll. Dazu rufe ich per runtime... den Dos Format Befehl inkl. Parameter auf. Daraufhin
mache ich ein waitFor(), damit mein Programm wartet bis die Formatierung beendet ist, und erst
danach sollen Dateien auf die Diskette geschrieben werden.
Nun mein Problem: Mein Programm hat eine kleine mit Swing geschriebene Oberfläche
bekommen. Leider tut sich da während er wartet bis die Formatierung beendet ist gar nichts. Wäre
ganz schon wenn ich wenigstens in meiner jTextArea was angezeigt bekommen würde.
Code:
private void Format_actionPerformed(ActionEvent e) throws IOException
{
jTextArea.setText("");
jTextArea.append("Bitte warten bis Formatierung der Diskette beendet ist");
try {
Process form = Runtime.getRuntime().exec
("command.com /C start ECHO J | format A: /FS:FAT /V:Resotec /F:720 /X");
try {
form.waitFor();
} catch (InterruptedException e2) {e2.printStackTrace();}
} catch (IOException e1) {e1.printStackTrace();}
jTextArea.append("Dateisystem wird auf Diskette erstellt");
for (int i=0; i<=9; i++){
File fSrc = new File("D:\\Files\\DA0"+i);
File fDes = new File("a:\\DA0"+i);
FileInputStream fis = new FileInputStream (fSrc);
FileOutputStream fos = new FileOutputStream (fDes);
byte buf[] = new byte[8192];
while(fis.read(buf)!=-1){
fos.write(buf);
}
fis.close();
fos.flush();
fos.close();
}
}
Alles was in der TextArea angezeigt werden soll, schreibt er erst nach der kompletten Abarbeitung rein.
Wäre schön wenn er auch mir am Anfang wenigstens schreibt:
("Bitte warten bis Formatierung der Diskette beendet ist")
Hoffe Ihr könnt mir weiterhelfen. Vielen dank auf jeden fall schon einmal. MFG Alex