0,0 → 1,63 |
|
// This file is put in the public domain |
// |
// $Id$ |
|
var FILE_SIZE_LIMIT = -1; |
var BUFFER_SIZE = 1024 * 1024; |
var DEFAULT_FILE_NAME = "zeroes"; |
|
java.lang.System.err.println("Disk Zero Filler v0.2"); |
|
var DiskZeroFiller = { |
zero: null, |
wipe: null, |
commonFill: null |
}; |
DiskZeroFiller.commonFill = function(filename, buffer) { |
// try |
var fos = new java.io.FileOutputStream(filename, false); |
|
java.lang.System.err.println(); |
var written = 0; |
var ignore = BUFFER_SIZE * 3; |
|
var reference = new java.io.File("."); |
var free; |
while (ignore < (free = reference.getUsableSpace())) { |
// Must use this form to not be ambiguous |
fos.write(buffer.array(), 0, buffer.array().length); |
written += buffer.array().length; |
|
java.lang.System.err.printf("\r%d w %d f // %.2fMiB w %.2fMiB", |
new Array( |
new java.lang.Long(written), new java.lang.Long(free), |
written / 1024.0 / 1024.0, |
free / 1024.0 / 1024.0 |
) |
); |
} |
java.lang.System.err.println(); |
|
fos.close(); |
}; |
|
DiskZeroFiller.zero = function(filename) { |
var buffer = java.nio.ByteBuffer.allocate(BUFFER_SIZE); |
java.util.Arrays.fill(buffer.array(), new java.lang.Byte(0)); |
this.commonFill(filename, buffer); |
}; |
|
DiskZeroFiller.wipe = function(filename) { |
var buffer = java.nio.ByteBuffer.allocate(BUFFER_SIZE); |
java.util.Arrays.fill(buffer.array(), new java.lang.Byte(0)); |
for (var i=0; i<BUFFER_SIZE; i+=2) { |
buffer.array()[i] = new java.lang.Byte(127); |
} |
this.commonFill(filename, buffer); |
}; |
|
DiskZeroFiller.zero("zeroes"); |
//DiskZeroFiller.wipe("wipe"); |
|
// vim:set ts=4 et ai: // |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
Added: svn:keywords |
+Rev Id Date |
\ No newline at end of property |