Hallo ich würde gerne folgendes lösen.
ich habe ein Programm das den leeren freien Speicher eines USB Sticks solange voll schreibt.
Da bei einem großen USB Stick dies eine weile dauern kann würde ich gerne die Geschätzte
Endzeit ausgeben lassen und zwischen durch Aktualisieren.
Dies ist nur der Code der dafür sorgt das der Stick voll geschrieben wird. Es kann die Zeit über ein jLabel ausgegeben werden oder wenn es möglich ist aber was noch aufwendiger ist über eine Progressbar.
Ersteres würde für kich völlig reichen.
Vielen Danke schon mal für eure Hilfe
ich habe ein Programm das den leeren freien Speicher eines USB Sticks solange voll schreibt.
Da bei einem großen USB Stick dies eine weile dauern kann würde ich gerne die Geschätzte
Endzeit ausgeben lassen und zwischen durch Aktualisieren.
Java:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class DiskFull {
public static void main(String[] args) {
final String working_dir = System.getProperty("user.dir");
String osName=System.getProperty("os.name");
File wholeFile = new File(working_dir + "whole.bin");
FileOutputStream fos = null;
int[] sizes = { 1024 * 4, 1024 * 64, 1024 * 1024 * 6 };
for (int s = sizes.length; s > 0; s--) {
System.out.println("Buffergröße " + sizes[s - 1] + " Bytes");
byte[] buffer = new byte[sizes[s - 1]];
for (int i = 0; i < buffer.length; i++) {
buffer[i] = 0x00;
}
try {
int j = 0;
fos = new FileOutputStream(wholeFile, true);
while (true) {
fos.write(buffer);
fos.flush();
j++;
if (j % 10 == 0) {
new Thread() {
public void run() {
File wholeFile = new File(working_dir + "whole.bin");
System.out.println((wholeFile.length() / (1024 * 1024)) + " MiB");
}
}.start();
}
}
} catch (IOException e) {
System.out.println("schalte Buffergröße um");
} finally {
try {
if (fos != null)
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
if (wholeFile.delete()) {
System.out.println("temporäre Datei wurde gelöscht.");
} else {
System.out.println("die Datei '" + wholeFile.getAbsolutePath() + "' konnte nicht "
+ "gelöscht werden. Bitte löschen!");
}
}
}
Dies ist nur der Code der dafür sorgt das der Stick voll geschrieben wird. Es kann die Zeit über ein jLabel ausgegeben werden oder wenn es möglich ist aber was noch aufwendiger ist über eine Progressbar.
Ersteres würde für kich völlig reichen.
Vielen Danke schon mal für eure Hilfe