请问如何识别一个文件是否为文本文件? 读取文件头1K字节,判断其中是否有不可显示字符(<0x20),如果有则不是文本文件。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用API函数取它的扩展名不就行了! 取扩展名大大的不行,如果将command.com改名为command.txt,是否能说这个文件是文本文件呢? 其实这个问题很简单.文本文件是一种标准信息交换文件,即文本文件可以在不同的系统中用打开文本的工具都可以阅读,就象.jpg都可以用看图的软件打开一样.理解了这一点,我们可以知道所谓文本文件,就是由也仅由可显示的ASCII码组成的文件;所以,识别它的方法就是判断所有的字节是否是可显示的ascii码. 我比较同意SoftSprite的说法,但似乎又不够精确。如果头1k里头没有不可显示的字符,就一定能判断不是文本文件吗?如果按qxp的说法,岂不是要遍历所有的字节吗?如果文件很大,花的时间不少。请各位继续发表高见,谢谢。 我觉得没什么特别好的办法, 随机取一些字节出来判断应该比只判断头1K好一些. 好象UNIX中的test -t也是这么实现的. 用TStrings.LoadFromFile()去装载文本文件,再判断取出的内容大小与源文件的大小,就可知道此文件是否是文本文件了 帮我看看代码,关于TCP/IP的 一条简单的sql语句~~~~~~~~~~ 在delphi中,怎么样让ADOconnection自动连上SQLSERVER服务器呢? 用delphi7的zlib是否能压缩成rar形式的呢? activeX form的问题 主窗体和登陆窗体 呵呵,问个和编程无关的问题,100分也(关于最终幻想的MTV) 帮忙啊,简单问题 Delphi6中报表的打印及分页问题 有谁知道湖南国讯 如何判断(关于TREEVIEW)当前结点下有子结点或有父结点? 求助!dephi如何整理access数据库?
文本文件是一种标准信息交换文件,即文本文件可以在不同的系统中用打开文本的工具都可以
阅读,就象.jpg都可以用看图的软件打开一样.
理解了这一点,我们可以知道所谓文本文件,就是由也仅由可显示的ASCII码组成的文件;
所以,识别它的方法就是判断所有的字节是否是可显示的ascii码.
如果按qxp的说法,岂不是要遍历所有的字节吗?如果文件很大,花的时间不少。
请各位继续发表高见,谢谢。
test -t也是这么实现的.