c# - How windows calculate file dimension? -
i calculate binary size of file function:
public static int binarysize(string path) { filestream fs = new filestream(path, filemode.open); int hexin; string ret = ""; (int = 0; (hexin = fs.readbyte()) != -1; i++) { ret += convert.tostring(hexin, 2); } fs.close(); return ret.length; } an example of problem when calculate dimension of simple black png image (10x10 pixels) 
with function find 640 bits => 80 bytes, windows file dimension 136 byte. why difference of 56 bytes? security, permissions or private information windows attach every file?
convert.tostring(hexin,2) not return 8 characters, trims leading zeroes, if hexin 4, returns 100, not 00000100.
you might want change convert.tostring(hexin,2).padleft(8, '0');. you'd want use stringbuilder instead of string ret variable.
by way, reading file determine size bit wasteful. better use fileinfo class file information.
Comments
Post a Comment