如何判断一个文件为文本型文件? ( 积分: 100 )

  • 主题发起人 主题发起人 wafeijia
  • 开始时间 开始时间
W

wafeijia

Unregistered / Unconfirmed
GUEST, unregistred user!
如何判断一个文件为文本型文件?
 
如何判断一个文件为文本型文件?
 
使用ExtractFileExt函数可以获得该文件的扩展名,如果扩展名等于TXT,那么表示他是一个文本文件了!

如:
var
ExtStr:String;
begin
ExtStr := ExtractFileExt(c:/hello.txt);
if ExtStr = 'txt' then
ShowMessage('该文件为文本文件');
 
所谓文本型文件,就是只由可读字符组成,
所以只要扫描一遍,
看有没有不见字符就知道了,
一般可读文本字符包括:'a-zA-Z0-9',
标点符号,还有回车换行
 
To coolfishs:
是文本型的文件, 不是TXT文件. 包括可用文本编辑器正常打开(不出现乱码)的所有文件.
 
检查是否有非法的字符存在.估计效率不高,这个非法也是根据情况不同而不同的,看你的需求了.
 
没有确切划分
记事本也不过是根据扩展名来定的
有检查所有字符的工夫都已经读完显示了
记事本一样的程序,同样可以加入非文本字符
难到就变成“非文本文件”了?
这个还是要用户来看的
 
看看是不是都含有
1 连续的#13,#10或#10,#13(在文本文件行尾)
2 所有的Asc码都大于ord('0')
 
没有 /0 的认为就是;
 
使用ExtractFileExt函数可以获得该文件的扩展名,如果扩展名等于TXT,那么就是一个文本文件了。。
 
有那么简单就不需要问这个问题了,扩展名和文件内容是2回事,只有参考价值,把一个doc改成txt难道word文档就成文本文件了 ?还有最近流行的xml,就是特殊格式的文本。
 
后退
顶部