aaalso bei mir gehts nach kleinen änderungen 
vergleiche mal meinen code mit deinem 
try {
//new FileInputStream(thefile);
FileOutputStream stream=new FileOutputStream(thefile);
File file=new File(thefile);
long size1=file.length();
int size2=(int) size1;
byte[] bs1=new byte[size2];
byte[] bs2=new byte[size2];
int i=0;
while (i<size2) {
bs1[i]=0;
bs2[i]=1;
i++;
}
try {
stream.write(bs2);
stream.write(bs1);
stream.write(bs2);
stream.write(bs1);
stream.flush();
stream.close();
if(file.exists()){
if (file.isFile()) {
boolean deleted = file.delete();
if (!deleted) {
output.setText("Datei geschreddert, nicht gelöscht");
} else {
output.setText("Fertig");
}
}
}
Alles anzeigen
ok ich machs direinfacher.. des flush gehört nich zur file, sondern zum stream (hier den outputstream)
des mit dem inputStream hab ich mal auskommentiert, denn ein objekt ohne referenz is humbug, wenn du es nicht anonym verwendest.
dann konnte ja kein ergebnis kommen, weil du zwei mal file.delete() auf des gleiche file-objekt auszuführen.. wenn die file beim ersten mal gelöscht würde, wäre des zweite (in der if-bedingung) fürn arsch und würd eher ne exception werfen, als true zu werden^^
im anhang hab ich dir des ganze mal zu ner jar compiled und gezipped.
das ganze ding is auch übelst langsam, kann gar nich verstehen wieso des so is... ich hab hier win7 x64 enterprise laufen und hab 4GB ram und ich hab gedacht wenn einer jetzt was schlechteres hat muss des ja jahre dauern...
wieso arbeitest du so viel mit inner classes?
du könntest bei nem button ganz einfach dem button-objekt ne action performed geben..
nimm dir mal netbeans oder eclipse zum developing von javazeugs..
netbeans hat nen prima visual editor und eclipse is einfach geiler beim debuggen 