ASCII(StreamWriter)中每个字符的大小取1字节,无论是数字还是字符.
同样,每个字符的大小,二进制的整数是多少?(BinaryWriter).有人可以简单解释一下吗?
为什么二进制文件的大小在使用时不会减少BinaryWriter?考虑第一段代码:
static void write()
{
BinaryWriter sr = new BinaryWriter(File.OpenWrite("bin.txt"));
int m;
m = 123456;
sr.Write(m);
m = 122;
sr.Write(m);
sr.Close();
}
Run Code Online (Sandbox Code Playgroud)
使用上述方法时,大小bin.txt为8个字节.
但是当我从函数中删除m = 122第二次Write调用并再次运行程序时,我希望文件大小改为4个字节,但它仍然是8个字节.
static void write()
{
BinaryWriter sr = new BinaryWriter(File.OpenWrite("bin.txt"));
int m;
m = 123456;
sr.Write(m);
sr.Close();
}
Run Code Online (Sandbox Code Playgroud)
通过添加双重类型运行下面的函数比文件的大小增加从8到12.
static void write()
{
BinaryWriter sr = new BinaryWriter(File.OpenWrite("bin.txt"));
int m;
m = 123456;
sr.Write(m);
double pp = 1233.00;
sr.Write(pp);
sr.Close();
}
Run Code Online (Sandbox Code Playgroud)