关于顺序文件记录的问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 23:57:20
这是我写的简单代码,关于顺序文件的写

Open App.Path & "\vv.txt" For Output As #1
Dim a As String
a = "w"
Print #1, a
Close #1
End Sub

我想问的是我在查看文本时候为什么上面显示
大小:3字节(不是说一个英文字母就是一个字节,一个汉字是2个字节吗)
1kb(我知道1kb=1024字节)
就算是3字节,也等于3/1024kb
晕了..
另外我又点文档属性,看占用空间16.0kb(好大哦!)
平时我经常看到这些,并没觉得怎样,但是我想学好VB就必须把他们弄清楚
请高人指点迷津!

忽悠我的,或者仅仅给个连接的,概不给分!

英文字母是一字节没错~但它后面跟着一个回车符和一个换行符 这2个各占一个字节 不就三字节了。
看来你这个文本文件是放在fat32格式的磁盘里

至于“文件大小”和“占用空间”的差别
windows用NTFS和FAT的文件系统管理磁盘文件,所有文件系统都是基于簇(分配单元)大小,它代表了可以分配用来保存文件的最小磁盘空间量。

Windows XP NTFS下最大的默认簇大小为 4 千字节 (KB)。也就是说,每个文件都是按4K的空间划分保存的,即使这个文件只有100字节。

打个比方,作文纸,每页可以写400字;超过400字,就要翻一页。可是只写一首20字的诗,也要用一页纸。

1.“文件大小”与“所占空间”的差别
为了便于大家理解,我们先来看两个例子:

例1:找到D盘上的Ersave2.dat文件,用鼠标右键单击该文件,选择“属性”,即可打开对话框,我们可以看到,Ersave2.dat的实际大小为655,628 Byte(字节),但它所占用的空间却为688,128 Byte,两者整整相差了32KB。

例2:同样是该文件,如果将它复制到A盘,你会发现该文件实际大小和所占空间基本一致,同为640KB,但字节数稍有差别。再将它复制到C盘,查看其属性后,你会惊奇地发现它的大小和所占空间的差别又不相同了!

显然,在这三种情况中,文件的实际大小没有变化,但在不同的磁盘上它所占的空间却都有变化。事实上,只要我们理解了文件在磁盘上的存储机制后,就不难理解上述的三种情况了。文件的大小其实就是文件内容实际具有的字节数,它以Byte为衡量单位,只要文件内容和格式不发生变化,文件大小就不会发生变化。但文件在磁盘上的所占空间却不是以Byte为衡量单位的,它最小的计量单位是“簇(Cluster)”。

小知识:什么是簇?

文件系统是操作系统与驱动器之间的接口,当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统(FAT 16/32/NTFS)打开文件。扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻