Subversion Repositories pub

Compare Revisions

No changes between revisions

Ignore whitespace Rev 59 → Rev 60

/pluggablejs/tags/1.0build29/samples/zeroer.js
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